伪元素由双冒号和伪元素名称组成。双冒号是在css3规范中引入的,用于区分伪类和伪元素。但是伪类兼容现存样式,浏览器需要同时支持旧的伪类,比如:first-line、:first-letter、:before、:after等。
对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。
提醒,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全
一般是伪类.比如:
a:hover { color:red} 表示鼠标悬停在a标签上时的样式.
li:after { content:"你好"color:red} 表示在所有li标签内部的后面添加"你好",并且颜色为红色(CSS3)
"::"是作用域限定符或者称作用域运算符.例如命名空间"::"是用它来声明函数是属于哪个类的.
补充:"::"作用:
A、标识作用域级别
B、标识成员所属哪个类
C、限定成员作用范围
D、指出作用域的范围
不过,你这里的不属于上面任何一个,应该是写css样式的人输入错误而已,多敲了一个分号而已
:before是一个伪元素,这个伪元素允许创作人员在元素内容的最前面插入生成内容。默认地,这个伪元素是行内元素,不过可以使用属性 display 改变这一点。
举例:
css样式:
#div1 { border: 1px solid #090padding: 10pxfont-size: 14pxmargin-bottom: 10px} #div1:before{ content:"【"color:#f00font-family:Arial} #div1:after{ content:"】"color:#f00font-family:Arial}
html代码:
<div id="div1">插入内容</div>
你会看到div内并没写【】,而浏览器却能看到