html - bootstrap - 子项填充父项的 100%,但不会更大

标签 html css twitter-bootstrap twitter-bootstrap-3 flexbox

html,body, .container-fluid {
  height: 100%;
  border: 1px solid orange;
}

.page-header {
  padding-bottom: 2%;
  padding-top: 2%;
}

#icons {
  border: 1px solid red;
}

.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid green;
  height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class='container-fluid'>
  <div class='row'>
    <div id='header' class='page-header col-lg-12 col-sm-12 col-xs-12 col-md-12'>
      <div class='col-lg-2 col-md-2 col-sm-2 col-xs-3'><img id='logo' src='img/logo.png' class='img-responsive'></div>
      <div id='icons' class='col-lg-2 col-lg-offset-2 col-md-3 col-md-offset-2 col-sm-4 col-sm-offset-2 col-xs-12 col-lg-offset-2'>icons</div>
    </div>
    <div id='navigation' class='col-lg-12 col-sm-12 col-xs-12 col-md-12' style='border:1px solid black;height:100%;'>navigation</div>
  </div>

  <div class='row row-eq-height'>
    <div id='left' class='col-lg-2 col-sm-4 col-xs-8 col-md-2' style='border:1px solid green;'>left</div>
    <div id='right' class='col-lg-10 col-sm-10 col-xs-10 col-md-10' style='border:1px solid green;'>right<br></div>
  </div>
</div>

编辑:

好吧,也许我不太清楚我到底想要什么,所以我用另一张图片再试一次:

enter image description here

我希望侧边栏和内容 div 填充整个父 div 的其余部分,没有滚动条,这样它就不会比实际的父 div 大。如果我对 child 使用 height:100%,它会变大,因为它需要(导航 + 标题)+ 100%。所以我尝试了几件事。我用带 boostrap4 的 flexboxes 试了一下,它没有用,正如我想要的那样。我可以说 height:calc(100%- x)。但问题是 x 不是固定值,因为它是响应式的。

那么我该怎么做才能在不扩大页面的情况下用子项填充其余的父项 (100%),使最小高度达到 100%?

最佳答案

只需将 .row-eq-height 的高度设置为自动即可。

我的意思是这样的:

.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid green;
  height: auto;
}

如果需要,您还可以提供一个最小高度,例如 min-height:100px;

看看这个 fiddle :https://jsfiddle.net/digitalrevenge/p7q0ohrf/

关于html - bootstrap - 子项填充父项的 100%,但不会更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697352/

相关文章:

网页| CSS |文本周围的垂直子菜单不可点击

javascript - 无法居中 <UL>

css - 如何在 CSS 中的导航栏中添加 Logo ?

javascript计算有时不会发生

javascript - 谷歌地图与 Bootstrap 3 轮播错误?

twitter-bootstrap - FullCalendar 在 dayClick 上打开 Bootstrap 模式

html - 在 Safari 中使用 location.hash 滚动页面

html - 带有 margin 和 auto 的父 div 和 100% 的子元素不填充全宽

Javascript - 从带有按钮的下拉/选择框中输出设置字符串值

html - Bootstrap 导航栏崩溃不适用于移动设备