61、CSS选择器及其优先级(伪元素、伪类选择器)

1. CSS选择器

选择器格式优先级权重
id选择器#id100
类选择器.classname10
属性选择器a[ref=“eee”]10
伪类选择器li:last-child 或 a:hover10
标签选择器div1
伪元素选择器li::after1
相邻兄弟选择器h1+p0
子选择器ul>li0
后代选择器li a0
通配符选择器*0

2、选择器的优先级权重

  1. 内联样式:1000
  2. id 选择器:100
  3. 类选择器、伪类选择器、属性选择器:10
  4. 标签选择器、伪元素选择器:1

注意事项:

  1. !important声明的样式的优先级最高;
  2. 如果优先级相同,则最后出现的样式生效
  3. 继承得到的样式的优先级最低
  4. 通用选择器(*)、子选择器(>)和相邻同胞选择器(+)并不在这四个等级中,所以它们的权值都为 0 ;
  5. 样式表的来源不同时,优先级顺序为:内联样式 > 内部样式 > 外部样式 > 浏览器用户自定义样式 > 浏览器默认样式。
     

3、伪类与伪元素选择器的区别

1)伪元素:在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此,称为“伪”元素

例如·:在p标签前后添加了两个伪元素,不在文档生成,只在外部显示可见

<style>
  p::before {content:"第一章:";}  /* 在p标签前面添加伪元素。内容为:第一章 */
  p::after {content:"Hot!"; color: red;} /* 在p标签后面添加伪元素。 */
</style>
</head>
<body>
    <p>伪元素</p>
</body>

2)伪类:将特殊的效果添加到特定选择器上。它是在已有元素上添加类别不会产生新的元素

例如:为a标签添加伪类,当鼠标放到a标签,a标签中的字体变红。

  a:hover{
      color: red; /* 为a标签添加伪类。 */
  } 
</style>
</head>
<body>
    <a href="#">伪类</a>
</body>


3)区别:

  1. 伪元素在一个选择器中只能出现一次,并且只能出现在末尾
  2. 伪类与伪元素的本质区别就是是否抽象创造了新元素(伪元素抽象创建了新元素)。
  3. 伪类的效果可以通过添加实际的类来实现伪元素的效果可以通过添加实际的元素来实现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值