CSS选择器

2017-04-28  本文已影响0人  七_五

1、class和id的使用场景

2、CSS常见选择器分类

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

选择器按照其特殊性(权重)可分为a,b,c,d4个等级,如下:

如一个选择器标签中有多个相同类型的选择器,则叠加数值+1,如下:

Paste_Image.png
!important优先级最高无视上述规则。当选择器优先级相同时,那么后定义的会覆盖先定义的。

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

首先需要明确的是这4个都是伪类选择器中的链接样式,且选择器权重是一样的,那么我们这里考虑到样式覆盖的特性,顺序为:a:link->a:visited>a:hover>a:active

5、下面选择器的匹配

#header{}  //id选择器,匹配id="header"的标签
.header{}  //类选择器,匹配class="header"的标签
.header .logo{}  //后代选择器,匹配calss=“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的后代input中属性type="text"的input标签

6、列出你所知道的伪类选择器

E:link  匹配所有未被点击的链接
E:visited   匹配所有已被点击的链接
E:active    匹配鼠标已经其上按下、还没有释放的E元素
E:hover 匹配鼠标悬停其上的E元素
E:foucs       获取焦点
E:first-child   匹配元素E其父元素下的的第一个子元素
E:first-of-type      匹配其父元素的下相同类型标签所对应的的第一个子元素
E:nth-child(n)  匹配其父元素的第n个子元素,第一个编号为1
E:nth-of-type(n)    与:nth-child()作用类似,但是仅匹配使用同种标签的元素

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

image.png

3、item1 :first-child匹配item1对应标签(div class="item1"和p)下的所有后代的第一个子元素,上图中即有p标签所对应的aa文本变红
4、item1 :first-of-type匹配到item1对应标签(div class="item1"和p)下的相同类型标签后代的第一个子元素,由于匹配到的p class="item1"元素没有后代,所以对应文本节点值未发生改变

上一篇 下一篇

猜你喜欢

热点阅读