CSS清除浮动方法总汇

使用xhtml+css布局经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,那么清除浮动就是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一。

此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景。

body { font-size:24px; color:red; }#layout { background:#FF0; }#left { float:left; width:20%; height:200px; background:#CCC; }#right { float:right; width:30%; height:80px; background:#CCC; }

Left

登录后复制

未清除浮动前如图所示:

未清除浮动图片

三种清除浮动方法如下:

1、使用空标签清除浮动。

我用了很久的一种方法,空标签可以是p标签,也可以是p/span/br等标签,理论上可以是任何标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。

ps:
也可以实现效果。

body { font-size:24px; color:red; }#layout { background:#FF0; }#left { float:left; width:20%; height:200px; background:#CCC; }#right { float:right; width:30%; height:80px; background:#CCC; }.clr { clear:both; }

Left

登录后复制

2、使用overflow属性。

此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可!”zoom:1″用于兼容IE6。

body { font-size:24px; color:red; }#layout { background:#FF0; overflow:auto; zoom:1; }#left { float:left; width:20%; height:200px; background:#CCC; }#right { float:right; width:30%; height:80px; background:#CCC; } 

Left

登录后复制

3、使用after伪对象清除浮动。

该方法只适用于非IE浏览器。具体写法可参照以下示例。使用中需注意以下几点。
一、该方法中必须为需要清除浮动元素的伪对象中设置height:0,否则该元素会比实际高出若干像素;
二、content属性是必须的,但其值可以为空,网上讨论该方法的时候content属性的值设为”.”,但我发现为空也是可以的。

body { font-size:24px; color:red; }#layout { background:#FF0;  }#layout:after{display:block;clear:both; content:""; visibility:hidden;height:0;}#left { float:left; width:20%; height:200px; background:#CCC; }#right { float:right; width:30%; height:80px; background:#CCC; }

Left

登录后复制

清除浮动后如图所示:

清除浮动后的图片

此三种方法各有利弊,使用时应择优选择,比较之下第二种方法更为可取。

以上就是CSS清除浮动方法总汇的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2903926.html

(0)
上一篇 2025年3月11日 01:55:13
下一篇 2025年2月26日 18:14:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • CSS实现清除浮动问题的

    首先,我们要思考一个问题:为什么要清除浮动呢?在我做小demo的时候,碰到一个问题,当子元素浮动的时候,父元素的背景颜色消失了?可以说,以当时我的菜鸟水平,是不知道为什么父元素的背景颜色为什么会不见,我明明设置了背景颜色的,难道颜色格式不对…

    编程技术 2025年3月10日
    200
  • 什么是浮动?css清除浮动的原理

    这篇文章给大家介绍的内容是关于什么是浮动?css清除浮动的原理(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近学习css发现了高度塌陷时候要清除浮动,为了理解清楚浮动原理,网上找了不少资料,发现都写的不是很清…

    编程技术 2025年3月10日
    200
  • CSS如何清除浮动?css清除浮动的五种方法总结

    这篇文章给大家介绍的内容是关于css如何清除浮动?css清除浮动的五种方法总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 方法一(使用空标签带clear属性) 标签可以是div   br hr 在浮动元素后使用一个空元…

    编程技术 2025年3月10日
    200
  • CSS中清除浮动的最好用的方法之一的详细介绍(附代码)

    这篇文章给大家分享的内容是关于CSS中清除浮动的最好用的方法之一的详细介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我们写网页常常为浮动带来的影响而烦恼,因为子元素浮动导致父元素没有高,从而网页错乱,达不到…

    编程技术 2025年3月10日
    200
  • 图文详解CSS clear:both清除浮动的运用

    当我们用div+css进行页面布局时,经常会出现一些意想不到的结果,比如画面排版乱了,没有呈现我们想要的样式,又或者设置一些属性不起作用,这些诡异的事情都非常让人头疼。其实,这些都出乎意料的事情是由浮动float引起的,它也是有解决办法的。…

    2025年3月10日
    200
  • css清除浮动float的三种方法是什么

    css清除浮动float的三种方法:1、在父元素结尾添加一个具体“clear: both;”样式的新元素。2、给父级div元素添加“overflow:auto;”样式;3、在父级样式添加伪元素“:after”或者“:before”。 本教程…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论