我的英语不太好,抱歉。
我正在开发一个关于css和html的项目。
这是我的问题:我希望我的侧边栏高度与我的内容页面一样长。 如果我在内容页面添加内容,则左侧导航的高度应与内容页面相同。
<div class="container">
<div class="container-fluid">
<div class="leftnav">
xxx
</div><!-- leftnav -->
<div class="content">
xx
</div><!-- content -->
</div><!-- container-fluid -->
</div> <!-- container -->
.container{width: 1170px;margin:0px auto;}
.container-fluid{float: left;width: 100%;}
.leftnav{float: left;width: 280px;background: #fff;}
.content{float: left;width: 890px;background: #000;}
答案 0 :(得分:0)
对我来说,最好的方法是将元素设置为100%,就像我在下面所做的那样。
我放了一些颜色,这样你就可以看到你在看什么。
html, body {
height: 100%;
margin: 0;
}
.container {
width: 1170px;
margin: 0px auto;
display: block;
height: 100%;
}
.container-fluid{
float: left;
width: 100%;
height: 100%;
}
.leftnav{
float: left;
width: 280px;
height: 100%;
background: red;
}
.content{
float: left;
width: 890px;
height: 100%;
background: #ccc;
}
<div class="container">
<div class="container-fluid">
<div class="leftnav">
xxx
</div><!-- leftnav -->
<div class="content">
xx
</div><!-- content -->
</div><!-- container-fluid -->
</div> <!-- container -->
答案 1 :(得分:-1)
使用flexbox。将display: flex
添加到.container-fluid
即可实现此目标。
另请参阅:How do I keep two divs that are side by side the same height?
请注意browser support for flexbox
,特别是对于IE。
答案 2 :(得分:-1)
通常我会使用JavaScript来执行此任务(因为我的大多数项目都需要对旧版浏览器进行大量向后兼容)。
试试这个JavaScript / jQuery:
sidebar = $('.leftnav');
main = $('.content');
if(sidebar.outerHeight() > main.outerHeight()){
main.css('height',sidebar.outerHeight());
} else {
sidebar.css('height',main.outerHeight());
}