文章目录

  • 一、清除浮动 - 使用 after 伪元素 ( 最流行写法 )
    • 1、额外标签法 和 overflow 样式法弊端
    • 2、after 伪元素清除浮动简介
    • 3、after 伪元素清除浮动核心代码
    • 4、after 伪元素清除浮动原理分析
  • 二、使用 after 伪元素 - 代码示例

一、清除浮动 - 使用 after 伪元素 ( 最流行写法 )


1、额外标签法 和 overflow 样式法弊端

额外标签法 清除浮动 , 会 新增很多无意义标签 , 使得 HTML 标签结构混乱 ;

父级元素设置 overflow 属性 , 会 将溢出元素隐藏 , 或 生成滚动条 , 导致显示结果不理想 ;

这里提出第三种 清除浮动的方法 , 使用 after 伪元素清除浮动 ;

2、after 伪元素清除浮动简介

在 CSS 样式最上面 , 声明 清除浮动元素样式 ,

将选择器设置为 .clearfix:after , 其中的 :after 是伪元素 ,

     /* 清除浮动元素样式 */.clearfix:after {content: "";display: block;height: 0;visibility: hidden;clear: both;}

这种方式只有在 高版本浏览器才支持 , 低版本浏览器不支持该设置 , 为了兼容低版本浏览器 , 需要使用下面的样式 :

     /* 低版本浏览器 IE6 / IE7 清除浮动样式 */.clearfix {*zoom: 1;  }

如果需要 清除某个父容器中子元素的浮动样式 , 在该父容器的 class 类型上 , 添加 clearfix 类型即可 , 如 :

 <div class="father1 clearfix"><div class="son1"></div><div class="son2"></div></div>

使用上述方法 , 不会改变标签的结构 , 也不会出现隐藏移除元素的问题 ;

3、after 伪元素清除浮动核心代码

核心代码示例 :

  • CSS 样式代码 :
     /* 清除浮动 - 使用 after 伪元素 ( 最流行写法 ) */.clearfix:after {content: "";display: block;height: 0;visibility: hidden;clear: both;}/* 低版本浏览器 IE6 / IE7 清除浮动样式 */.clearfix {*zoom: 1;  }
  • HTML 标签代码 :
 <div class="father1 clearfix"><div class="son1"></div><div class="son2"></div></div>

4、after 伪元素清除浮动原理分析

使用 :after 伪元素 , 会在 父容器 中 , 生成一个新标签 , 放在了 父容器 盒子的末尾 , 相当于添加了一个 空盒子 , 类似于额外标签法 ;

这种使用 CSS 添加新标签的方式 , 在 标签结构中不可见 , 没有影响到 HTML 标签的结构 ;

二、使用 after 伪元素 - 代码示例


使用 after 伪元素 - 代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>    <meta charset="UTF-8" /> <title>浮动清除 - 父级元素设置 overflow 样式</title><style>/* 清除标签默认的内外边距 */* {padding: 0;     margin: 0;}/* 清除列表默认样式 ( 主要是前面的点 ) */li {list-style: none;}/* 设置总体背景 */body {background-color: #f4f4f4;}/* 插入图片自适应 */img {width: 100%;}/* 下面是正式内容 *//* 清除浮动 - 使用 after 伪元素 ( 方法三 : 最流行写法 ) */.clearfix:after {content: "";display: block;height: 0;visibility: hidden;clear: both;}/* 低版本浏览器 IE6 / IE7 清除浮动样式 */.clearfix {*zoom: 1;  }/* 父容器 1 没有指定高度 , 默认 0 像素 */.father1 {width: 500px;background-color: pink;border: 2px solid green;/* 清除浮动 - 父级元素设置 overflow 样式 ( 方法二 ) *//*overflow: hidden;*/}/* 子元素 1 */.son1 {float: left;width: 200px;height: 200px;background-color: blue;}/* 子元素 2 */.son2 {float: left;width: 250px;height: 250px;background-color: red;}/* 父容器 2 - 父容器 1 的兄弟元素 */.father2 {width: 700px;height: 150px;background-color: purple;}/* 清除浮动 - 额外标签法 ( 方法一 ) *//*.son3 {clear: both;}*/</style>
</head>
<body><div class="father1 clearfix"><div class="son1"></div><div class="son2"></div></div><div class="father2"></div>
</body>
</html>

显示效果 :

【CSS】清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )相关推荐

  1. [css] 有哪些标签是不支持伪元素的?

    [css] 有哪些标签是不支持伪元素的? 首先我们要知道伪元素有哪些: ::after ::before ::first-letter ::fist-line (单双冒号皆可) ::selection ...

  2. [css] 不用换行的标签,怎么伪元素实现换行的效果?

    [css] 不用换行的标签,怎么伪元素实现换行的效果? 使用\A 换行,并且指定white-space: pre保留换行效果.foo::after {content: '123\A 456';whit ...

  3. [css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢?

    [css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢? 理解:在不同系统,不同设备,不同尺寸的界面,有良好的用户体验,舒适的阅读体验,交互体验. 原理:根据不同设 ...

  4. 【CSS】1049- 深入了解::before 和 ::after 伪元素

    本文从最简单的开始,解释如何理解和使用::before和::after.然后再在实际使用场景中去应用它. ::before和::after是什么? ::before和::after可以添加到选择器以创 ...

  5. 如何用css和HTML结合画熊,结合伪元素实现的纯CSS3高级图形绘制

    自小编上次整理了一些基础图形的绘制方法之后,大家都纷纷表示对css3的绘图技巧学习很有帮助.虽说万变不离其宗,再复杂的图形也可以用最简单的三角形或者圆弧组合出来,但仍有不少朋友反映,学会基本图形也不懂 ...

  6. html面包屑菜鸟,css content属性与before及after伪元素配合使用价值发挥到最大

    content属性需要与before及after伪元素配合使用,作用是可以定义伪元素所显示的内容,本文主要列举content的可选值及实用的案例与技巧

  7. CSS笔记(一):before伪元素实现半透明背景图

    2019独角兽企业重金招聘Python工程师标准>>> 通过给元素before伪元素作为背景图片的载体,实现半透明背景. 这样的好处是避免直接调整opacity导致前景及子元素也变透 ...

  8. 浮动(浮动和清除浮动)

    一.浮动的基本属性 1.属性名:float 2.取值:left,right 3.作用:让垂直布局的盒子变成水平布局,如:一个在左,一个在右 二.浮动的特点: (1)浮动元素会脱离标准流(简称:脱标), ...

  9. CSS复合选择器( 交集、 并集、后代、子元素、兄弟、伪类、伪元素)

    CSS复合选择器 总结 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签. :first-child与:first-of-type区别 :fi ...

最新文章

  1. 知识图谱可解释推理研究综述
  2. C++ new一个数组方法和初始化的方法
  3. python画图配色_python matplotlib包图像配色方案分享
  4. 游戏入口点GameEntryPoint
  5. Mysql命令行下实现数据的导入
  6. keychain 专研
  7. keras+yolo实现旗帜识别
  8. php ajax设置cookie,在AJAX请求中设置Cookie?
  9. Ubuntu 16.04 使用 Libcoap
  10. 在C#中使用DevExpress中的ChartControl实现极坐标图
  11. 线性代数核心思想及应用——行列式习题集(附详解)
  12. 冰点还原离线激活_冰点还原密钥,手把手教你如何激活冰点还原
  13. python怎么爬虎牙_【python】虎牙直播爬虫项目
  14. ftp.proxy 代理服务器搭建
  15. 骁龙AR2平台解析:分布式架构开启轻量化AR眼镜新时代
  16. VB编程编辑AutoCAD样条曲线
  17. linux猜数字代码,Shell脚本实现猜数字游戏
  18. 【AUTOSAR】【CAN通信】CanTrcv
  19. linux怎么卸载桌面程序吗,Linux下怎么卸载软件
  20. 绘制打印真实尺寸大小的图形曲线

热门文章

  1. python 编程快速上手-4.11.3 字符图网格
  2. java InputStreamReader
  3. 计算机显示usb无法识别,Win10电脑总是无法识别USB设备的解决方案
  4. 【树形DP】CEOI2017 Chase
  5. Qt之实现图片或按钮等控件的倒影效果
  6. 区县公安合成作战中心调研:(三)需求分析
  7. 巧记口诀确定正方体表面展开图
  8. 2021-2027全球与中国绝对防水胶带市场现状及未来发展趋势
  9. 用形态学运算变换图像
  10. C++函数参数的传递