为什么清除浮动是以下这么写的呢?请帮忙分析以下代码~

来源:2-1 样式文件和初始化

小佳佳QAQ

2016-12-13 15:41

.clearfloat{
	zoom: 1;
}
.clearfloat:after{
	display: block;
	clear: both;
	content: "";
	visibility: hidden;
	height: 0;
}

补充:平时只用clear:both和其它几种网上看来的小方法清除浮动,上面这个清除浮动的内容比较多,还用到了伪类,想知道具体是什么原理,这种写法和其它写法的不同。

写回答 关注

3回答

  • 小白小白小白啦
    2016-12-17 10:43:26
    已采纳

    这个和用clear:both原理一样,只是如果你用clear:both的话,要在每个需要清除浮动的下面都写一个div,然后给这个div设置clear:both,是不是很麻烦?after的作用是在元素的最后面添加一个元素,你可以设置这个元素的css样式,里面的height,visibility,display只是为了让这个添加的元素不可见,真正起作用得还是clear:both,content是设置after的内容,为空就是为了不显示任何东西。。。如果你想搞清楚得话可以百度after就知道了。

    小佳佳QAQ

    非常感谢!

    2016-12-19 09:46:02

    共 1 条回复 >

  • y1801
    2016-12-13 16:14:34

    这是使用伪类after来清除浮动的,其中的zoom: 1;是用来兼容IE6的。

    个人喜欢使用overflow来清除。

  • qq_wlzhiqdgs_0
    2016-12-13 15:57:51

    块级元素,隐藏,且无内容

从 psd 到 html

教你把PSD设计稿转化成HTML,用案例来讲解基本流程

105471 学习 · 410 问题

查看课程

相似问题