CSS伪元素

伪元素可以给某些选择器添加特殊效果,一般用来添加自定义格式

可以与css类配合使用

 

属性

:first-letter 向文本的第一个字母添加特殊样式(块级元素)

:first-line 向文本的首行添加特殊样式 (块级元素)

:before 在元素之前添加内容

:after 在元素之后添加内容

 

【区分】

伪类(:before)和伪元素(::before)

单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素

双冒号是在当前规范中引入的,用于区分伪类和伪元素。不过浏览器需要同时支持旧的已经存在的伪元素写法,比如:first-line、:first-letter、:before、:after等,而新的在CSS3中引入的伪元素则不允许再支持旧的单冒号的写法。

对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。

所以,如果网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。

 

提醒

伪元素不会出现在DOM中。这些元素不是真正的元素。因此,它们不是可用的。所以,不要使用伪元素生成内容,是网页的可用性和可访问性的关键。

另外一件需要记住的是,开发工具,例如火狐,不要用伪元素显示内容。所以,如果使用了,伪元素会造成难以维护和调试缓慢。

 

【块级】

插入的内容在页面的源码里是不可见的。只能在css里可见

同时,插入的元素在默认情况下是内联元素(或者,在html5中,在文本语义的类别里)。因此,为了给插入的元素赋予高度,填充,边距等等,你通常必须显式地定义它是一个块级元素

 

【用法】

可以设置content属性值为空,并且仅仅把他当做一个内容很少的盒子

但不能删除content属性

如果你移除了,伪元素将不会起作用

 

【优缺点】

优点

    * 减少dom节点数

    * 让css帮助解决部分js问题,让问题变得简单

缺点

    * 不利于SEO

    * 无法审查元素,不利于调试

猜你喜欢

转载自570109268.iteye.com/blog/2381437
今日推荐