解决高度塌陷的方法:
(一)
1.给父元素添加高度
2.给红色(inner1)设置一个兄弟元素(inner2),再给兄弟元素设置高度,可以撑起黄框,使黄框高度不塌陷

3.给父元素也设置float:left; 高度不塌陷但是宽度会丢失,不可取。

4.给父元素设置display:inline-block;高不塌陷宽度丢失,不可取。

5.给父元素设置overflow:hidden/auto;但在以后的使用中也有副作用

…
(二)关于clear

1元素向左浮动,2元素向右浮动,3元素藏在1的下面,但是文字不会受浮动的影响。

给3设置clear:left; 3就在1的下面,浏览器会自动给3设置一个外边距

给box3设置clear:right; 即3清除浮动元素2对它的影响,浏览器会给3配一个外边距

给box3设置clear:both;选择浮动影响较大的那一个
…
(三)最终解决办法
详细描述:
方法一:

绿色和aa都在红框中,现在绿色浮动了,aa还在文档流中,虽然绿色没有办法撑开红色。但是设置aa的高度可以撑开红色



按照结构aaa本来应该在蓝框处,因为绿色浮动了,脱离了文档流,但a的左边仍然有一座墙,如果aa处于蓝框处,红框会包住绿色和aa,可以设置aa 的clear:both/left;来实现

aa清除了绿色浮动元素对其影响,浏览器会给aa设置一个外边距,aa和外边距撑起了红框,红框的高度没有塌陷
去掉aa

该div只是为了解决网页中高度塌陷的问题,用结构处理表现,
方法二:利用伪元素

伪元素不能清除浮动元素对其的影响,因为伪元素是行内元素,
将行内元素转变为块元素,再删除content里的hello

1089

被折叠的 条评论
为什么被折叠?



