【发布时间】:2015-11-14 20:29:52
【问题描述】:
我遇到了无法访问height:100% 的div 问题,我曾尝试使用!important,但这并没有帮助。我想这与我容器上的弹性框.row有关?
这是div,类为 `the-list 我想达到 100%。
JSFiddle:https://jsfiddle.net/e488j5sp/
HTML:
<div class="row equal-height"> <!-- START BS ROW -->
<div class="col-md-1"> <!-- START BS COL-MD-1 -->
</div> <!-- END BS COL-MD-1 -->
<div class="col-md-3 zeropadding-right"> <!-- START BS COL-MD-4 -->
<div class="singlepage-list-style"> <!-- START SINGLEPAGE-LIST-STYLE -->
<div class="list-header"> <!-- START LISTE-HEADER -->
<h1>Quick info</h1>
</div> <!-- END LIST-HEADER -->
<div class="the-list"> <!-- START THE-LISTE -->
<img src="http://placehold.it/150x100">
</div> <!-- END THE-LIST -->
</div>
</div> <!-- END BS COLD-MD-4 -->
<div class="col-md-7 zeropadding-left"> <!-- START BS COL-MD-6 -->
<div class="singleheader-content-style"> <!-- START SINGLEPAGE-CONTENT-STYLE -->
<h1>Property description</h1>
<img src="http://placehold.it/350x150">
</div> <!-- END SINGLEHEADER-CONTENT-STYLE -->
</div> <!-- END BS COL-MD-6 -->
<div class="col-md-1"> <!-- START BS COL-MD-1 -->
</div> <!-- END BS COL-MD-1 -->
</div> <!-- END BS ROW -->
CSS:
/***** INFO & CONTENT HEIGHT CONTROLER *****/
.equal-height, .equal-height > div[class*='col-'] {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex:1 0 auto;
}
.zeropadding-right {
padding-right:0px;
}
/***** SINGLEHEADER CONTENT AREA STYLING *****/
.singleheader-content-style {
background-color:#fff;
border-right: 1px solid #9c9c9c;
padding:20px;
font-family: 'Open Sans', sans-serif;
width:100%;
}
.singleheader-content-style h1,h2,h3,h4,h5,h6 {
margin-top:0px; /* Change boostraps default */
color:#de1b1b;
}
/***** SINGLEHEADER LIST AREA STYLING *****/
.singlepage-list-style {
background-color:#fff;
border-left: 1px solid #9c9c9c;
padding:20px;
font-family: 'Open Sans', sans-serif;
width:100%;
font-size:16px;
}
.singlepage-list-style ul li {
list-style-type:none;
}
.singlepage-list-style ul {
padding-left:20px;
}
.the-list {
border-right: 1px solid #9c9c9c;
width:100%;
}
.list-header {
width:100%;
}
.list-header h1,h2,h3,h4,h5,h6 {
margin-top:0px; /* Change boostraps default */
color:#de1b1b;
}
有什么想法吗?
编辑: 有人建议要解决这个问题,我需要将height:100% 设置为所有父元素。所以我试图做到这一点。但问题是,当我这样做时,具有 singlepage-list-style 和 singleheader-content-style 类的 div 元素最终具有不同的高度(307px 和 267px)。这是equal-height 类中“flex”的目的,为这两个元素提供相同的高度(同时根据其内容调整高度),在这种情况下,两者的高度都应为 307px。当 height:100% 添加到所有父元素时,这不再起作用。有关更多详细信息,请参阅 cmets 中的对话以获取以下答案。这是jsfiddle:https://jsfiddle.net/5s9mmdtx/
【问题讨论】: