深入理解伪元素_html/css_WEB-ITnose
定义
伪元素顾名思义伪装成元素,但不是元素,这与生成内容相关。生成内容主要指由浏览器创建的内容,而不是由标志或内容来表示。生成内容主要由:before和:after伪元素来实现,当然伪元素还包括:first-line,:first-letter和::selection
用法
:first-letter(IE6-浏览器不支持)
指定一个元素第一个字母的样式
[注意1]所有前导标点符号应与第一个字母一同应用该样式
[注意2]只能与块级元素关联
div:first-letter{color: red;}
:first-line(IE6-浏览器不支持)
设置元素中第一行文本的样式
[注意]只能与块级元素关联
div:first-line{color: red;}
:before(IE7-浏览器不支持)
在元素内容的最开始插入生成内容
[注意]默认这个伪元素是行内元素,且继承元素可继承的属性
div:before{content:"前缀"}
:after(IE7-浏览器不支持)
在元素内容的最后插入生成内容
[注意]默认这个伪元素是行内元素,且继承元素可继承的属性
div:after{content:"后缀"}
::selection(IE8-浏览器不支持)
匹配被用户选择的部分
[注意1]firefox浏览器需要添加-moz-前缀
[注意2]只支持双冒号写法
[注意3]只支持颜色和背景颜色两个样式
div::selection{color: red;}
重点
【content属性】
content属性应用于before和after伪元素
content:normal;(默认)content:| |attr( )
【1】
[注意1]如果希望生成内容中有一个换行,则需要使用\A
[注意2]若是一个很长的串,需要它拆分成多行则需要用\对换行符转义
div:before{ content: "第一段\ 第二段";}div:after{ content:"\A后缀";}
【2】
div:before{ content: url("arrow.gif");}
【3】attr(
div:before{ content: attr(data-before);}
【quotes属性】
管理引号
前单引号 -> \2018后单引号 -> \2018前双引号 -> \201C后双引号 -> \201D
quotes:'201C' '201D' '2018' '2019';//第一个值定义最外层开始引号(open-quote),第二个串定义最外层结束引号(close-quote),第三个值定义次外层开始引号,第四个值定义次外层结束引号,第五个值定义次次外层开始引号,第六个值定义次次外层结束引号……
【4】open-quote|close-quote
最外层次外层最里层
【5】counter
关于counter属性值,详见深入理解CSS计数器
DEMO
首字下沉
钉子效果
图片叠加效果
推荐阅读
-
html5指南-1.html5全局属性(html5 global attributes)深入理解
-
深入理解HTML5定时器requestAnimationFrame的使用
-
深入理解HTML的FormData对象
-
HTML连载50-伪元素选择器、清除浮动方式五
-
前端笔记知识点整合之HTML5&CSS3(中)选择器&伪类伪元素&CSS3效果&渐变背景&过渡
-
深入理解PHP原理之错误抑制与内嵌HTML分析
-
【深入理解JVM】3、CPU储存器+MESI+CPU伪共享+CPU乱序问题及代码论证【面试必备】
-
深入理解html5标签含义
-
深入理解AngularJS中的ng-bind-html指令
-
深入理解AngularJS中的ng-bind-html指令和$sce服务