html - Bootstrap 显示 flex 高度

标签 html twitter-bootstrap css flexbox

我想通过 bootstrap 使我的导航列表与导航栏本身的高度相同。

当前 html:

<nav class="navbar navbar-expand-lg">
    <div class="collapse navbar-collapse">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item">
                <a class="nav-link"></a>
            </li>
        </ul>
    </div>
</nav>

结果是这样的:

enter image description here

我想让它看起来像这样:

enter image description here

我目前通过给 div.collapse 一个 60 像素的固定高度和 ul.navbar-nav.mr-auto, li.nav 来修复它-itema.nav-link 高度为 100%。问题是这只是一种解决方法,不适用于移动设备等。

通过查看 css,我发现 bootstrap 现在正在使用一种名为 flex 的方法。我怎样才能使用 flex 实现这一点?

最佳答案

如果您想保留默认高度,则从父级 (nav-bar) 中移除 padding-toppadding-bottom并将它们添加到 child (nav-link) 中就可以了,

@media only screen and (min-width: 600px) {
  .navbar {
    padding-top: 0;
    padding-bottom: 0;
  }

  .nav-link {
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 0;
  }
}

如果你修复了 nav-barheight 那么为什么不修复 childrenheight > ?

.nav-bar{
    height: 60px;
}

@media only screen and (min-width: 600px) {
  .navbar {
    padding-top: 0;
    padding-bottom: 0;
  }

  .nav-link {
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 0;
    height: 60px;
  }
}

另一种选择是将 parent ( nav-bar ) 的位置设置为 relativeposition 子级的 absoluteheight:100%top:0

.nav-bar{ 
    height: 60px;
    position: relative;
}

@media only screen and (min-width: 600px) {
  .navbar {
    padding-top: 0;
    padding-bottom: 0;
  }

  .nav-link {
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 0;
    position: absolute;
    top: 0;
    height: 100%;
  }
}

这是一个 fiddle :https://jsfiddle.net/szuk7not/62/

PS:对于您以后的问题,请考虑添加代码片段、codePen、fiddle 或至少工作 htmlcss 以便您可以获得更准确和充分的答案。

关于html - Bootstrap 显示 flex 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49583905/

相关文章:

javascript - 带有弹出窗口的 bootstrap3 显示在后面

CSS模仿一个简单的条形图

html - p标签的背景尺寸

javascript - HTML5 Canvas绘画应用如何实现拖拽?

PHP 表格 : HTML not interpreted correctly

html - 拉伸(stretch) div 以适应间隙

javascript - 单击即可自动拖放

javascript - Twitter Bootstrap 模式中的 onsubmit 不会被触发

html - 导航栏和图像之间的空间

javascript - 6 个网格 DIV,每个带有 2 个内容 DIV 和切换功能