深入理解CSS选择器优先级

为了未来好一点,现在苦一点有什么。都要更有勇气对明天说:我愿意。养成好习惯是储存健康,放纵不良是透支生命。梦不是为想象,而是让我们继续前往。

本文为大家分享的是CSS选择器优先级相关资料介绍,供大家参考,具体内容如下

1.类的覆盖顺序和应用的时候引用的顺序没关系,覆盖顺序取决于类定义的顺序

例如:

CSS Code复制内容到剪贴板
  1. .a{
  2. color:red
  3. }
  4. .b{
  5. color:green
  6. }

由于b晚于a定义,所以b覆盖a,反之则a覆盖b

2.类选择器优先级大于标签选择器

例如:

CSS Code复制内容到剪贴板
  1. div{
  2. color:red
  3. }
  4. .div{
  5. color:green
  6. }

.div将覆盖div

3.类选择器优先级等于纯属性选择器,谁后定义谁优先级高,例如:

CSS Code复制内容到剪贴板
  1. [data-name='div']{
  2. color:red
  3. }
  4. .a{
  5. color:blue
  6. }

.a将覆盖[data-name='div'],反之[data-name='div']覆盖.a

4.类选择器优先级小于标签+属性组合选择器,例如:

CSS Code复制内容到剪贴板
  1. div[data-name='div']{
  2. color:red
  3. }
  4. .a{
  5. color:blue
  6. }

.a将被div[data-name='div']覆盖

5.类选择器优先级小于id选择器,例如:

CSS Code复制内容到剪贴板
  1. .a{
  2. color:blue
  3. }
  4. #div{
  5. color:red
  6. }

.a将被#div覆盖

6.标签+属性组合选择器优先级小于id选择器,例如:

CSS Code复制内容到剪贴板
  1. [data-name='div']{
  2. color:blue
  3. }
  4. #div{
  5. color:red
  6. }

#div将会覆盖[data-name='div']

7.标签选择器优先级小于id选择器,例如:

CSS Code复制内容到剪贴板
  1. div{
  2. color:blue
  3. }
  4. #div{
  5. color:red
  6. }

#div将会覆盖div

8.标签选择器优先级小于纯属性选择器,例如:

CSS Code复制内容到剪贴板
  1. div{
  2. color:blue
  3. }
  4. [data-name='div']{
  5. color:red
  6. }

div将会被 [data-name='div']覆盖

综上所述: 标签选择器<类选择器=纯属性选择器(先定义会被覆盖)<标签+属性组合选择器<id选择器

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文:http://www.cnblogs.com/zouyitangzaishuo/p/5265563.html

您可能有感兴趣的文章
CSS复合选择器的具体如何使用方法

CSS3 新增选择器的实例

CSS 样式的如何使用方式、选择器

css3 伪类选择器快速复习小结

如何使用CSS属性选择器来拼接HTML的DNA的方法