css如何利用:after清除浮动


当前第2页 返回上一页

1

2

3

4

.outer{ border:1px solid #ccc; background:#fc9; color:#fff; margin:50px auto; padding:50px;}

.div1{ width:80px; height:80px; background:#f00; /*float:left;*/ }

.div2{ width:80px; height:80px; background:blue;/* float:left; */}

.div3{ width:80px; height:80px; background:sienna;/* float:left;*/ }

如上图所示,当内层的1/2/3元素不浮动,则外层元素的高是会被自动撑开的。

所以当内层元素浮动的时候,就出现以下影响:

背景不能显示;边框不能撑开;margin设置值不能正确显示。

2、清除浮动-----:after方法。(注意:作用于浮动元素的父亲)

原理:利用:after和:before来在元素内部插入两个元素块,从而达到清除浮动的效果。其实现原理类似于<div style="clear:both;
"></div>
方法,只是区别在于:clear在html中插入一个div.clear标签,而outer利用其伪类clear:after在元素内部增加一个类似于div.clear的效果。

1

2

.outer { zoom:1; } /*为了兼容性,因为ie6/7不能使用伪类,所以加上此行代码。*/

.outer:after { content:'';clear:both;display:block;width:0;height:0;visibility:hidden; }


其中clear:both;指清除所有浮动;content:' . ';display:block; 对于FF/Chrome/opera/IE8不能缺少,其中content()取值也可以为空。visibility:hidden;的作用是允许浏览器渲染它,但是不显示出来,这样才能实现清除浮动。

利用伪元素,就可以不再HTML中加入标签。

:after 的意思是再.outer内部的最后加入为元素:after,

首先要显示伪元素,所以display:block,

然后为伪元素加入空内容,以便伪元素中不会有内容显示在页面中,所以, content:"";

其次,为使伪元素不影响页面布局,将伪元素高度设置为0,所以width:0, height:0,(可省略)

最后,要清除浮动,所以,clear:both。

tips:

content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容。

(学习视频分享:css视频教程)

以上就是css如何利用:after清除浮动的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

css column-rule属性怎么用

css怎么禁止换行

css border-top-style属性怎么用

jsp css不起作用怎么办

css如何实现input不可编辑

html文档中怎么把图片作为背景?

你知道怎么利用css实现内凹圆角么

css怎么把字体加粗加大

html中表单的相关知识总结(代码实例)

css word-break属性怎么用

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...