css如何利用:after清除浮动

方法:首先使用“父元素:after{content:”;display:block;}”语句在父元素底部插入并显示一个空的元素块;然后给该元素块添加“clear:both;”样式即可清除所有浮动。

css如何利用:after清除浮动

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

什么时候需要清除浮动?清除浮动有哪些方法?

1、对元素进行了浮动(float)后,该元素就会脱离文档流,浮动在文档之上。在CSS中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

float主要流行与页面布局,然后在使用后没有清除浮动,就会后患无穷。

立即学习“前端免费学习笔记(深入)”;

先看实例:

1
2
3

登录后复制

.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; }

登录后复制

css如何利用:after清除浮动

 如上图所示,是让1、2、3这三个元素产生浮动所造成的现象。

下面看一下,如果这三个元素不产生浮动,会是什么样子?

.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;*/ }

登录后复制

css如何利用:after清除浮动

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

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

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

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

 原理:利用:after和:before来在元素内部插入两个元素块,从而达到清除浮动的效果。其实现原理类似于

方法,只是区别在于:clear在html中插入一个div.clear标签,而outer利用其伪类clear:after在元素内部增加一个类似于div.clear的效果。

.outer { zoom:1; } /*为了兼容性,因为ie6/7不能使用伪类,所以加上此行代码。*/.outer:after { content:'';clear:both;display:block;width:0;height:0;visibility:hidden; }

登录后复制

css如何利用:after清除浮动

其中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清除浮动的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月10日 19:09:53
下一篇 2025年2月25日 16:08:34

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

相关推荐

  • css如何禁止选中页面内容

    css禁止选中页面内容的方法:首先使用p标签创建多行文字,并添加class属性;然后编写标签,将样式放入标签内;接着将【user-select】属性设置为none;最后在浏览器打开【test.html】文件即可。 本教程操作环境:windo…

    2025年3月10日 编程技术
    200
  • css怎么设置边框线样式

    方法:1、使用border-style属性,可通过不同的属性值来设置不同的边框线样式,例“dotted”点状,“solid”实线,“double”双线;2、使用border-image属性,为边框添加不同的背景图片来设置不同的边框线样式。 …

    2025年3月10日 编程技术
    200
  • css如何设置元素高度自适应

    css设置元素高度自适应的方法是采用元素定位及padding的方式使特定元素高度自适应,代码为【position: relative;padding: 60px 0 0;】。 本教程操作环境:windows7系统、css3版,DELL G3…

    2025年3月10日
    200
  • css如何设置div不换行

    css设置div不换行的方法:1、使用float方法,代码为【.div2 {float: left;}】;2、使用【inline-block】方法,代码为【.div2 {display: inline-block;}】。 本教程操作环境:w…

    2025年3月10日
    200
  • css如何实现图片轮播

    css实现图片轮播的方法:首先将要展示图片横排放在一个图片容器里面;然后在图片容器外再加一个展示容器,展示容器大小为图片大小;最后给图片容器添加自定义动画,在动画不同阶段设置递增的偏移值。 本教程操作环境:windows7系统、css3版,…

    2025年3月10日
    200
  • css input怎么去掉边框

    css去掉input边框的方法:1、使用“border:none;”语句定义无边框样式来去掉;2、使用“border:0;”语句设置边框宽度为0来去掉;3、使用“border:transparent;”语句设置透明边框来去掉。 本教程操作环…

    2025年3月10日 编程技术
    200
  • css怎样设置按钮不能点击

    css设置按钮不能点击的方法:1、按钮不可点击时的显示状态【cursor: not-allowed】;2、按钮原有的事件不能实现【pointer-events:none】。 本教程操作环境:windows7系统、css3版,DELL G3电…

    2025年3月10日
    200
  • css中文乱码怎么办

    css中文乱码的解决办法:1、用“notepad++”打工编写的CSS文档;2、选择文件菜单”格式”,弹出下拉菜单,选择下面的“以UTF-8格式编码”。 本教程操作环境:windows7系统、notepad++202…

    2025年3月10日 编程技术
    200
  • hbuilderx写css代码没有提示怎么办

    解决方法:首先找到没有提示的项目,鼠标右键选中“项目名称”;然后在鼠标右键的菜单中选择“扫描索引”-“重新建立索引”;最后点击弹出窗口中的“确认”按钮即可。 本教程操作环境:windows7系统、HBuilder版、Dell G3电脑。 首…

    2025年3月10日 编程技术
    200
  • css3中渐变属性有哪些

    渐变属性有:1、线性渐变“linear-gradient()”,语法为“linear-gradient(角度,颜色,颜色)”;2、径向渐变“radial-gradient()”,语法为“radial-gradient(位置,颜色,颜色)”。…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论