伪元素顾名思义伪装成元素,但不是元素,这与生成内容相关。生成内容主要指由浏览器创建的内容,而不是由标志或内容来表示。生成内容主要由:before和:after伪元素来实现,当然伪元素还包括:first-line,:first-letter和::selection
:first-letter
指定一个元素第一个字母的样式
注意1:所有前导标点符号应与第一个字母一同应用该样式
注意2:只能与块级元素关联
注意3:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-letter中存在连接符的原因
:first-line
设置元素中第一行文本的样式
注意1:只能与块级元素关联
注意2:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-line中存在连接符的原因
:before(IE7-浏览器不支持)
在元素内容的最开始插入生成内容
注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用
:after(IE7-浏览器不支持)
在元素内容的最后插入生成内容
注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用
::selection(IE8-浏览器不支持)
匹配被用户选择的部分
注意1:firefox浏览器需要添加-moz-前缀
注意2:只支持双冒号写法
注意3:只支持颜色和背景颜色两个样式
下面是伪元素的速查表
【content属性】
content属性应用于before和after伪元素
【1】 <string>里面的内容会原样显示,即使包含某种标记也不例外。
注意1:如果希望生成内容中有一个换行,则需要使用\A
注意2:若是一个很长的串,需要它拆分成多行则需要用\对换行符转义
【2】 <uri>
【3】attr( <identifier>)
<补充>【quotes属性】
管理引号
【4】open-quote|close-quote
【5】counter
首字下沉
钉子效果
图片叠加效果
css ::after用来创建一个伪元素,做为已选中元素的最后一个子元素。通常会配合content属性来为该元素添加装饰内容。这个虚拟元素默认是行内元素。 由于伪元素本身是行内元素,所以要变成块级元素的需要使用 display: block 以下是画一个三角形的图案的样式。 content是一定需要的,content 可以是: 值得注意的是: :after 和 ::after的关系首先我们看一下css伪元素是什么:CSS 伪元素用于向某些选择器设置特殊效果。
伪元素有哪些:
:first-line 伪元素:"first-line" 伪元素用于向文本的首行设置特殊样式。
:first-letter 伪元素:"first-letter" 伪元素用于向文本的首字母设置特殊样式。
:before 伪元素:":before" 伪元素可以在元素的内容前面插入新内容。
:after 伪元素:":after" 伪元素可以在元素的内容之后插入新内容。
伪元素例子:
.flow_ball1:after {
content: ""
position: absolute
top: 50%
margin-top: -1px
left: 100%
margin-left: 0.133333rem
width: 1.786667rem
height: 2px
background-color: #ff6600
border-radius: 0.053333rem
在名为flow_ball1的class标签后面添加一道橘色横线(类似于流程图那种)
那么,问题来了,怎么用jquery改变伪元素的样式呢?
答案在这里:
$('.flow_ball1').append("<style>#fafang::after{display:none}</style>")