【CSS】清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )
文章目录
- 一、清除浮动 - 使用 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 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )相关推荐
- [css] 有哪些标签是不支持伪元素的?
[css] 有哪些标签是不支持伪元素的? 首先我们要知道伪元素有哪些: ::after ::before ::first-letter ::fist-line (单双冒号皆可) ::selection ...
- [css] 不用换行的标签,怎么伪元素实现换行的效果?
[css] 不用换行的标签,怎么伪元素实现换行的效果? 使用\A 换行,并且指定white-space: pre保留换行效果.foo::after {content: '123\A 456';whit ...
- [css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢?
[css] 你对响应式设计的理解是什么?知道它基本的原理是吗?要想兼容低版本的IE怎么做呢? 理解:在不同系统,不同设备,不同尺寸的界面,有良好的用户体验,舒适的阅读体验,交互体验. 原理:根据不同设 ...
- 【CSS】1049- 深入了解::before 和 ::after 伪元素
本文从最简单的开始,解释如何理解和使用::before和::after.然后再在实际使用场景中去应用它. ::before和::after是什么? ::before和::after可以添加到选择器以创 ...
- 如何用css和HTML结合画熊,结合伪元素实现的纯CSS3高级图形绘制
自小编上次整理了一些基础图形的绘制方法之后,大家都纷纷表示对css3的绘图技巧学习很有帮助.虽说万变不离其宗,再复杂的图形也可以用最简单的三角形或者圆弧组合出来,但仍有不少朋友反映,学会基本图形也不懂 ...
- html面包屑菜鸟,css content属性与before及after伪元素配合使用价值发挥到最大
content属性需要与before及after伪元素配合使用,作用是可以定义伪元素所显示的内容,本文主要列举content的可选值及实用的案例与技巧
- CSS笔记(一):before伪元素实现半透明背景图
2019独角兽企业重金招聘Python工程师标准>>> 通过给元素before伪元素作为背景图片的载体,实现半透明背景. 这样的好处是避免直接调整opacity导致前景及子元素也变透 ...
- 浮动(浮动和清除浮动)
一.浮动的基本属性 1.属性名:float 2.取值:left,right 3.作用:让垂直布局的盒子变成水平布局,如:一个在左,一个在右 二.浮动的特点: (1)浮动元素会脱离标准流(简称:脱标), ...
- CSS复合选择器( 交集、 并集、后代、子元素、兄弟、伪类、伪元素)
CSS复合选择器 总结 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签. :first-child与:first-of-type区别 :fi ...
最新文章
- 知识图谱可解释推理研究综述
- C++ new一个数组方法和初始化的方法
- python画图配色_python matplotlib包图像配色方案分享
- 游戏入口点GameEntryPoint
- Mysql命令行下实现数据的导入
- keychain 专研
- keras+yolo实现旗帜识别
- php ajax设置cookie,在AJAX请求中设置Cookie?
- Ubuntu 16.04 使用 Libcoap
- 在C#中使用DevExpress中的ChartControl实现极坐标图
- 线性代数核心思想及应用——行列式习题集(附详解)
- 冰点还原离线激活_冰点还原密钥,手把手教你如何激活冰点还原
- python怎么爬虎牙_【python】虎牙直播爬虫项目
- ftp.proxy 代理服务器搭建
- 骁龙AR2平台解析:分布式架构开启轻量化AR眼镜新时代
- VB编程编辑AutoCAD样条曲线
- linux猜数字代码,Shell脚本实现猜数字游戏
- 【AUTOSAR】【CAN通信】CanTrcv
- linux怎么卸载桌面程序吗,Linux下怎么卸载软件
- 绘制打印真实尺寸大小的图形曲线