我有一个小提琴(http://jsfiddle.net/pwnagecss/LnNYv/),需要帮助才能使类sideBar和rightContentWrapper自动填充到高度。
HTML
<div class="wrapper">
<div class="sideBar">
</div>
<div class="rightContentWrapper">
<div class="rightContent">
</div>
</div>
</div>
CSS
.wrapper {
width: 960px;
height: 100%;
margin: 0 auto 20px auto;
padding: 0;
background-color:black;
}
.wrapper:after{
clear: both;
display: block;
height: 0;
visibility: hidden;
content: "0020";
}
.sideBar {
float: left;
width: 200px;
background-color:blue;
min-height: inherit;
height: 100%;
}
.rightContentWrapper {
float: left;
width: 760px;
height: 100%;
min-height: inherit;
}
.rightContent {
margin: 0 auto;
background-color: red;
min-height: inherit;
}
感谢任何帮助
答案 0 :(得分:1)
您可以尝试CSS3 flexbox模块,如下所示:
html,body {
margin: 0;
padding: 0;
height: 100%;
}
.wrapper {
height: 100%;
width: 100%;
display: -moz-box;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.sideBar {
width: 220px;
background: green;
}
.rightContentWrapper {
background: orange;
-moz-box-flex: 1;
-webkit-box-flex: 1;
-ms-flex: 1;
-webkit-flex: 1;
flex: 1;
}
请查看demo。
答案 1 :(得分:0)
它不起作用的原因是因为.sidebar
和.rightContent
都设置为min-height:inherit
要使min-height:inherit
起作用,您需要为包装元素定义一个高度,而不是100%
,而是实际值,即700px
。
此外,您的.rightContent
将首先从.rightContentWrapper
继承,其中没有最小高度声明。因此,不会将任何内容传递给您的.rightContent
为了使其正常工作,可以在包装器和rightContentWrapper上设置固定的minHeight。或者使用javascript或jquery根据条件(视口高度可能)动态设置高度?
答案 2 :(得分:0)
我看到你没有标记jquery,但是如果你想要它用于跨浏览器,这里是jquery方式。
DEMO http://jsfiddle.net/LnNYv/1/
$(document).ready(function(){
$('.wrapper').each(function(){
var max_height = $(this).height();
$(this).children('.sideBar').css('height',max_height);
$(this).find('.rightContent').css('height',max_height);
});
});
答案 3 :(得分:0)
用于显示 table-cell
定义左和正确部分display table-cell
属性
就像这样
.rightContentWrapper ,.sideBar{
display:table-cell;}
.rightContent{height:100%;}
<强> Demo 强>