首页 >web前端 >html教程 >CSS选择器优先级 - 走一趟再说

CSS选择器优先级 - 走一趟再说

WBOY
WBOY原创
2016-05-22 17:19:461633浏览
1.类的覆盖顺序和应用的时候引用的顺序没关系,覆盖顺序取决于类定义的顺序
    例如:
<span style="color: #800000;">    .a</span>{<span style="color: #ff0000;">
        color</span>:<span style="color: #0000ff;">red
    </span>}<span style="color: #800000;">
    .b</span>{<span style="color: #ff0000;">
        color</span>:<span style="color: #0000ff;">green
    </span>}

 

    由于b晚于a定义,所以b覆盖a,反之则a覆盖b
 
 
2.类选择器优先级大于标签选择器;
    例如:
<span style="color: #800000;">    div</span>{<span style="color: #ff0000;">
        color</span>:<span style="color: #0000ff;">red
    </span>}<span style="color: #800000;">
    .div</span>{<span style="color: #ff0000;">
        color</span>:<span style="color: #0000ff;">green
    </span>}

 

    .div将覆盖div
3.类选择器优先级等于纯属性选择器,谁后定义谁优先级高,例如:
<span style="color: #800000;">    [data-name='div']</span>{<span style="color: #ff0000;">
         color</span>:<span style="color: #0000ff;"> red 
     </span>}<span style="color: #800000;">
     .a</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;">blue 
     </span>}

 

    .a将覆盖[data-name='div'],反之[data-name='div']覆盖.a
4.类选择器优先级小于标签+属性组合选择器,例如:
<span style="color: #800000;">    div[data-name='div']</span>{<span style="color: #ff0000;">
         color</span>:<span style="color: #0000ff;"> red 
     </span>}<span style="color: #800000;">
     .a</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;">blue 
     </span>}

 

    .a将被div[data-name='div']覆盖
5.类选择器优先级小于id选择器,例如:
<span style="color: #800000;">    .a</span>{<span style="color: #ff0000;">
         color</span>:<span style="color: #0000ff;">blue 
     </span>}<span style="color: #800000;"> 
     #div</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;"> red 
     </span>}

 

    .a将被#div覆盖
6.标签+属性组合选择器优先级小于id选择器,例如:
<span style="color: #800000;">    [data-name='div']</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;">blue
     </span>}<span style="color: #800000;">
     #div</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;"> red
    </span>}

 

    #div将会覆盖[data-name='div']
7.标签选择器优先级小于id选择器,例如:
<span style="color: #800000;">    div</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;">blue
     </span>}<span style="color: #800000;"> 
     #div</span>{<span style="color: #ff0000;">
         color</span>:<span style="color: #0000ff;"> red 
     </span>}

 

    #div将会覆盖div
8.标签选择器优先级小于纯属性选择器,例如:
<span style="color: #800000;">    div</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;">blue 
     </span>}<span style="color: #800000;">
    [data-name='div']</span>{<span style="color: #ff0000;"> 
         color</span>:<span style="color: #0000ff;"> red 
     </span>}

 

    div将会被 [data-name='div']覆盖
 
综上所述: 标签选择器
 
以上是一个一个试出来的,错误的地方还望指正。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn