源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 663|回复: 23

[CSS] CSS :befor :after 伪元素的巧妙用法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-2-7 14:09:48 | 显示全部楼层 |阅读模式
本篇重点介绍CSS中的:befor、:after创建的伪元素几种使用场景,如填充文本、作为iconfont、进度线、时间线以及几何图形,感兴趣的朋友一起看看吧

本篇重点介绍CSS中的:befor、:after创建的伪元素几种使用场景,如填充文本、作为iconfont、进度线、时间线以及几何图形。

1. 介绍

1.1 说明

CSS中的:befor、:after都会创建一个伪元素,其中:befor创建的伪元素是所选元素的第一个子元素,:after创建的伪元素是所选元素的最后一个子元素。

:befor、:after创建的伪元素默认样式为内联样式。

1.2 语法

/* CSS3 */
selector::before
/* CSS2 */
selector:before

CSS3引入了 ::(两个冒号)是用来区分伪类(:一个冒号)和伪元素(::两个冒号)。

伪类:操作元素本身,如 :hover、:first-child、:focus等等。

伪元素:操作元素的子元素,如 ::before、::after、::content等等。

在IE8中只支持:(一个冒号),所以为了兼容这些浏览器也可以使用 :befor、:after。

1.3 content属性

content 属性表示伪元素填充的内容。

示例

CSS:

.test-div {
    width: 100px;
    height: 100px;
    margin-left: 20px;
    background-color: #eee;
}
.test-div::before {
    content: "♥";
    color: red;
}
.test-div::after {
    content: "♥";
    color: blue;
}

HTML页面:

2018020714024922.png

2018020714024922.png

效果:

2018020714024923.png

2018020714024923.png

1.4 可替换元素

可替换元素(replaced element):其展现不由CSS来控制的。这些元素是一类外观渲染独立于CSS的对象。

典型的可替换元素有<iframe>、<img>、 <object>、 <video> 以及 表单元素,如<textarea>、 <input> 。

某些元素只在一些特殊情况下表现为可替换元素,例如 <audio> 和 <canvas> 。

:befor :after 在此类元素内是不生效的。

 1.5 浏览器支持情况

IE9版本才开始完全支持 :befor :after ,Chrome、Firefox现都已全线支持。

IE Edge Firefox Chrome Android 
Chrome iOS 
Safari
9 all 2 all all  all

2. 应用场景

2.1 支持文本字符

说明:content属性支持文本字符。

示例:

2.2 支持iconfont

说明:content属性也支持iconfont字体图表的展示。这也是使用最多的场景。

示例:此示例已引用了阿里iconfont图标库

2.3 进度线与时间线

说明::befor :after创建的伪元素可以以线条方式定位在元素周边的指定位置上,如进度线和时间线。

1) 进度线

2018020714024924.png

2018020714024924.png

2) 时间线

2018020714024925.png

2018020714024925.png

2.4 几何图形

说明:通过设置 :befor :after 伪元素的border相关属性,可创建非常多的几何图形;如三角形、多边形、五角星等等。

1) 矩形

说明:默认情况下,:befor :after 伪元素的border边框属性与其他HTML元素一样。

CSS:

div::before {
    width: 0px;
    height: 0px;
    content: '';
    position: absolute;
    border-top: 50px solid #f50000;
    border-right: 50px solid #6cc361;
    border-bottom: 50px solid #6167c3;
    border-left: 50px solid #fa00d9;
}

效果:

2018020714025026.png

2018020714025026.png

2) 三角形

说明:显示某一方位的border,并隐藏左右2边的border(背景设置为透明),可让伪元素显示三角形的形状。

示例:

2018020714025027.png

2018020714025027.png

总结

以上所述是小编给大家介绍的CSS :befor :after 伪元素的巧妙用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

回复

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-29 17:22:05 | 显示全部楼层
哦哦哦ijhhsdj
回复 支持 反对

使用道具 举报

9

主题

2万

回帖

420

积分

中级会员

Rank: 3Rank: 3

积分
420
发表于 2022-11-19 09:23:40 | 显示全部楼层
数据库了多久撒快乐的健身卡啦
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2022-12-16 04:10:07 | 显示全部楼层
看到这帖子真是高兴!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-4-17 20:27:58 | 显示全部楼层
看看看咋么
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

67

积分

注册会员

Rank: 2

积分
67
发表于 2023-5-22 01:08:24 | 显示全部楼层
老衲笑纳了
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2023-7-29 12:28:32 | 显示全部楼层
啪啪啪生怕PSP怕
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

68

积分

注册会员

Rank: 2

积分
68
发表于 2023-9-12 22:54:14 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

174

积分

注册会员

Rank: 2

积分
174
发表于 2023-10-24 19:18:10 | 显示全部楼层
快更新啊,我擦
回复 支持 反对

使用道具 举报

29

主题

2万

回帖

194

积分

注册会员

Rank: 2

积分
194
发表于 2023-12-12 19:38:19 | 显示全部楼层
sdsadsadsadf
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-19 11:23 , Processed in 0.084387 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表