CSS选择器

作者: mianmiani | 来源:发表于2017-03-02 18:29 被阅读0次

    class 和 id 的使用场景?、

    id选择器为整个页面中唯一的
    class选择器可以重复使用,对有相同属性的标签可以起相同的class名

    CSS选择器常见的有几种?

    1.基础选择器
    2.组合选择器
    3.属性选择器
    4.伪类选择器
    5.伪元素选择器

    选择器的优先级是怎样的?对于复杂场景如何计算优先级?

    优先级:id选择器>类选择器>伪类选择器>属性选择器>标签选择器>通配符选择器
    复杂场景计算选择器的权重,权重的比重大小与优先级相同。
    !important优先级为最高

    a:link, a:hover, a:active, a:visited 的顺序是怎样的? 为什么?

    顺序为LHAV方便记忆可记为LOVE
    未点击链接前,link伪类长期处于激活状态,鼠标悬停(或点击)时,链接同时处于link和hover(或active)状态,由于它们特指度相同,在同时激活的情况下,后出现的伪类样式会覆盖前面的伪类样式,故link状态必须写在hover(或active)之前。再讨论hover和active的顺序,若把hover放在active后面,当点击链接一瞬,实际你在激活active状态的同时触发了hover伪类,hover在后面覆盖了active的颜色,所以无法看到active的颜色。故hover在active之前其次,若把visited放在hover后面,那已访问过的链接一直触发着visited伪类,会覆盖hover样式。

    以下选择器分别是什么意思?

    #header{}     id选择器,匹配id=header的元素
    .header{}      类选择器,匹配class=header的元素
    .header .logo{}     后代选择器,匹配class=header里面class=logo的元素
    .header.mobile{}   类选择器,匹配class=header mobile的元素
    .header p, .header h3{}  并集选择器,匹配class=header里面的标签p以及标签h3
    #header .nav>li{}    子元素选择器,选择id=header里的class=nav的子元素里的li标签
    #header a:hover{}   伪类选择器,选择id=header里的链接a在鼠标悬停时的状态
    #header .logo~p{}   普通相邻选择器,选择id=header里的class=logo里的所有的子元素p标签
    #header input[type="text"]{}  属性选择器,选择id=header里的所有类型为"text"的inpute标签```
    #列出你知道的伪类选择器
    

    E:first-child 匹配元素E的第一个子元素
    E:link 匹配所有未被点击的链接
    E:visited 匹配所有已被点击的链接
    E:active 匹配鼠标已经其上按下、还没有释放的E元素
    E:hover 匹配鼠标悬停其上的E元素
    E:focus 匹配获得当前焦点的E元素
    E:lang(c) 匹配lang属性等于c的E元素
    E:enabled 匹配表单中可用的元素
    E:disabled 匹配表单中禁用的元素
    E:checked 匹配表单中被选中的radio或checkbox元素
    E::selection 匹配用户当前选中的元素```

    div:first-child和div:first-of-type的作用和区别

    :first-child匹配的是其父元素的第一个子元素;
    :first-of-type匹配的是其父元素下相同类型子元素中的第一个,不一定只有一个子元素,而是在父元素下不同标签的第一个子元素;
    运行如下代码,解析下输出样式的原因。

    .item1:first-child{
      color: red;
    }                                   /*父元素下第一个子元素为<p class="item1">aa</p>所以aa的颜色是红的
    .item1:first-of-type{
      background: blue;
    }                                   /*父元素下拥有相同标签的第一个元素;p标签下为 aa;h3标签下为bb;所以aa和bb的背景色为蓝色
    </style>
     <div class="ct">
       <p class="item1">aa</p>
       <h3 class="item1">bb</h3>
       <h3 class="item1">ccc</h3>
     </div>```

    相关文章

      网友评论

        本文标题:CSS选择器

        本文链接:https://www.haomeiwen.com/subject/nrskgttx.html