[英]How do i make sure that a div reserves the remaining horizontal space?
我试图从头开始创建自己的网站,现在考虑到HTML / CSS位时遇到了问题。
我正在尝试创建这种标准的“标题,导航,内容”布局,其中标题在顶部,导航在左侧,内容从标题的下方开始,并在导航的右侧
我使用以下代码:
<div id="head">
<img src="..." id="logo" style="float:left">
</div>
<div id="nav">
{some elements}
</div>
<div id="content">
{some elements}
</div>
但是,一旦在我的代码中添加了“ style ='float:left'”,“ content”和“ nav” DIV就会自动移至“ head” DIV的右侧,是否有可能使“ head” “ DIV”保留“剩余的空间,这样DIV的”内容“和”导航“将不会向上移动到它的右边,而是保持在下面?
此问题称为“崩溃父母”。 为了防止这种情况,您必须清除浮动。
将此CSS添加到样式表中:
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
并在标题中添加“ clearfix”类,例如
<div id="head" class="clearfix">
<img src="..." id="logo" style="float:left">
</div>
有关清除浮点的更多信息,您可以查看以下网址-http: //www.tutorialrepublic.com/css-tutorial/css-alignment.php
<div style="width:250px;">
<div id="head" style="width:100%; border:1px solid red;">
<img src="..." id="logo"> Header-Logo
</div>
<div id="nav" style="float:left;width:47%;border:1px solid blue;">
Navigation-Left
</div>
<div id="content" style="float:right; width:50%;border:1px solid blue;">
Content-Right
</div>
</div>
-我认为原因是标签id =“ head”中的“ float:left ”。 因为您要将标题放置在网站顶部,所以无需使用“ float:left”。
-您可以对标签id =“ nav”使用“ float:left” ,对标签id =“ content”使用“ float:right ”
结果如下: http : //jsfiddle.net/4JgA4/119/ =>无需注意我在某些标签内的所有信息(仅用于装饰:D)
清除浮标即可。
您需要将一个类添加到div和CSS中,如下所示:
.clear
{
clear:both;
}
将overflow:hidden
添加到#head
元素中。 我不知道它为什么起作用,但是它确保所有浮动元素都包含在父级内部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.