float浮动时,解决父级边框塌陷的4种方法

时间:2024-04-04 21:52:54

父级边框塌陷的原因:

我们在进行网页布局时,会用到float浮动属性,只要父级元素下的子元素浮动了,肯定会影响父级元素的边框。假设父级元素下有十个子元素,我们无论是全部浮动还是只浮动了一个元素,都要对父级元素采取措施防止边框塌陷。为什么这样说,我们可以试验一下,如果你只浮动了一个子元素,咱们让这个浮动的子元素高度在它同级里时最高的,运行一下,你会发现父级边框塌陷了。

解决方法:

1、给父级元素添加一个高度;

不推荐这种方法。高度无法确定,一次次地试高度很麻烦,何况不能从本质上解决问题。

2、在最后一个子元素后加一个空的div,给他添加样式clear,清除两侧浮动;

这种方法也很有效,但是加了一个空的div,造成代码的冗余。

3、父级元素添加overflow:hidden;

overflow是溢出管理的意思,但是有一点不好,在有下拉菜单的时候,下拉菜单会显示不出来。

4、父级元素添加after伪类;

.clear:after{

content:"";

display:block;

clear:both;

}

这种方法虽然有些麻烦,但是没有任何副作用,对文件中的其他元素没有任何影响。

而且我们只需要在css样式表中写入一次即可,然后在需要防止父级边框的元素中,给它的class值中添加clear就行了。

float浮动时,解决父级边框塌陷的4种方法