首页 > 其他 > 详细

伪类和伪元素

时间:2021-02-06 15:52:30      阅读:41      评论:0      收藏:0      [点我收藏+]

一、区别

1. 在CSS2中,伪类和伪元素都用一个冒号来表示: ,而在CSS3中,伪类是一个冒号: ,伪元素是两个冒号::

    如:伪类 → :active ;伪元素 → ::before

    为了一些兼容性问题,有的时候会都使用一个: 表示。

2. 一个css选择符可以有很多伪类,但只能有一个伪元素

3. 伪类可以相互拼接,而伪元素不能拼接(只允许存在一个),伪类可以和伪元素拼接,但伪元素必须处于最后一位

4. 伪类基于dom,产生不同的状态,不产生新对象,用于修饰;伪元素创造一个不存在于dom里的新对象(可理解为新标签),并对其操作。

 技术分享图片

 

二、注意事项

1. 当使用伪类时,如以下代码,首先会定位到第三个,再检测是否为p标签,而不是选择第三个p标签,所以在示例二中不显示红字。

<boby>
  <p>这是</p>
  <p>一个</p>
  <p>关于</p>
  <p>伪类和伪元素的</p>
  <p>事例</p>
</boby>
<style>
p:nth-child(3) {
  color: red;
}
</style>

技术分享图片

<boby>
  <p>这是</p>
  <p>一个</p>
  <a>我是a标签</a>
  <p>关于</p>
  <p>伪类和伪元素的</p>
  <p>事例</p>
</boby>
<style>
p:nth-child(3) {
  color: red;
}
</style>

技术分享图片

2. 在a标签使用伪类时,注意四个状态顺序不能调换:link(未点击)、visited(已点击)、hover(鼠标移动悬空)、active(鼠标移动点击不松)。

3. 在使用伪元素:before和:after的时候切记一定要有content属性,content用来定义插入的内容,content必须有值,至少是空。

    默认情况下,伪元素的display是默认值inline,可以通过设置display:block来改变其显示。

    content属性可取这些值:string、attr()、url()/uri()、counter()

    具体见:https://www.cnblogs.com/starof/p/4459991.html

 

伪类和伪元素

原文:https://www.cnblogs.com/emmamayday/p/14378191.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!