Skip to content

CSS 有关的采坑记录

子元素浮动之后如何撑开父元素

根据 CSS 规范,浮动元素脱离文档流,不影响块状盒子的布局只会影响内联盒子的文本排列,导致不会撑开父元素的高度。这种问题如何解决:

  • 在浮动子元素后面添加
<div style="clear:both;"></div>
  • 父元素 CSS 添加
z-index:1; overflow:hidden;
  • 绝对定位/静止定位(absolute/fixed)。

  • 父元素也跟着浮动。

  • 父元素设定高度。

这个是掩耳盗铃的方法,实质上并没有解决问题,但效果看起来是一样的,如果父元素高度固定,可以用这个方法。

  • 父元素 CSS 添加:
css
overflow: auto;
_height: 1%;

这个是我认为是最佳方案。

如果块元素设置了高度,且子元素也设置了高度(且高度高于父元素),导致父元素的父元素内容过大出现滚动条

css浮动内容父元素坍塌

解决方法: 将子元素的高度修改一下不要超过父元素。(一般都是子元素设置 height:100%导致的)

上次更新: