CSS div高度不会扩展

前端之家收集整理的这篇文章主要介绍了CSS div高度不会扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个侧边栏DIV,我想垂直扩展以匹配其包含div.

我这样做是为了实现这一目标

html,body,#wrapper,#content,#sidebar{
    height:100%;
}

但是包装器,内容侧边栏永远不会扩展到大约1000px,即使内容内容的几倍.

我相信这是因为#wrapper,#content的内容完全是浮动的DIV.

我试图把空DIV放在一起清楚:作为#wrapper和#content中的最后一个元素,但无济于事.

<body>
<div id="wrapper">
  <div id="footer">
  </div>
  <div id="sidebar">
  </div>
  <div id="content">
   .... 
     <div class="clear"/>
  </div>
  <div class="clear"/>
</div>
</body>

注意:页脚是固定位置

解决方法

问题是你将100%设置为html,body和#wrapper,这会强制他们的身高成为父母的身高,#wrapper的父亲是身体,身体是html,什么是html的父母?我不确定,我猜测浏览器窗口(或其视口),如果是这样,那么#wrapper的高度将始终等于浏览器窗口的高度,所以如果你的浏览器窗口的高度是1000px,那么
#wrapper的高度总是1000px,因为你将100%设置为#sidebar和#content,它们的高度总是1000px,尽管内部元素的高度

如果我是对的,你应该做的是分别设置html的高度,将其他人的身高保持在100%,并将html的最小高度设置为100%并保持高度.从理论上讲,这将迫使html至少与浏览器窗口一样高,但是当内部元素高于浏览器时会扩展,但我还没有测试过.

如果我是对的,请告诉我.

编辑:
我测试了它,它的工作原理.
这样做:

html,body{
    min-height: 100%;
}

如果您想要考虑内部元素的高度,请不要设置高度,并确保清除浮动并且不要在内部元素上进行绝对定位.现在,当没有足够的元素可以推动它时,正文将占据浏览器窗口的整个视图端口,当存在时,正文将扩展到页面的最底部,而不仅仅是浏览器窗口.

用chrome测试它,也应该在firefox中工作不知道ie.不,在第二次测试中,它没有成功似乎只有父母有一个给定的高度(例如身高:500px或身高:100%),身高:100%才有效;当父元素的min-height:100%且没有高度时,内部元素不能使用height:100%来匹配父元素.

原文链接:https://www.f2er.com/css/215799.html

猜你在找的CSS相关文章