详细解析CSS选择器优先级

对于CSS,小编有自己的一些心得体会,也请CSS高手多多指教~那接下来爱站技术小编先附上这篇详细解析CSS选择器优先级的相关内容,通过八个小例子分析比较CSS选择器优先级,感兴趣的小伙伴们可以参考一下,具体内容如下

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

例如:

由于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.      colorred    
  3.  }   
  4.  .a{    
  5.      color:blue    
  6.  }   

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

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

CSS Code
复制内容到剪贴板
  1. div[data-name=‘div’]{   
  2.      colorred    
  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.      colorred    
  6.  }   

.a将被#div覆盖

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

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

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

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

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

#div将会覆盖div

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

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

div将会被 [data-name=’div’]覆盖
 
综上所述: 标签选择器<类选择器=纯属性选择器(先定义会被覆盖)<标签+属性组合选择器
选择器

以上就是详细解析CSS选择器优先级的全部内容,希望这篇文章能给大家带来一定的帮助,更多精彩内容,请继续关注爱站技术频道。