当前位置:首页 >> 网页制作

深入理解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