饥人谷技术博客

CSS选择器

2017-07-14  本文已影响0人  白柏更好

选择器的规则结构

图片.png

class 和 id 的使用场景?

CSS选择器常见的有几种?

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

选择器的优先级是由它们各自的特殊性决定,特殊性值表述为四个部分,如0,0,0,0

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

按照link-visited-hover-active的顺序声明,因为它们拥有相同的权重、来源和特殊性,因此与元素匹配的最后一个选择器样式覆盖,以这种顺序声明是合理的。
复杂情况下根据选择器的特殊性对权值进行计算,最后采用权值大的样式

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

} 元素id值为header的选择器

} 匹配元素id值为header的后代 元素class值为nav的直接子元素(li)的选择器

} 匹配元素id值为header的后代 为a:hover的选择器

} 匹配元素id值为header的后代中元素class值为logo之后的同级相邻p标签(无论是否直接相邻)的选择器

} 匹配元素id值为header的后代中为input标签且属性type为text的选择器

我所知道的伪类选择器

div:first-child、div:first-of-type、div :first-child和div :first-of-type的作用和区别 (注意空格的作用)

运行如下代码,解析下输出样式的原因

图片.png 图片.png

.item1:first-child{ color: red; }因为p标签的class值为item1,且作为其父元素下第一个子节点元素,所以被匹配到字体颜色变为红色;
.item1:first-of-type{ background: biue; }因为p标签class值为item1,且作为其父元素下相同类型的第一个子节点元素,所以被匹配到背景为蓝色;最后两行的h3标签class值都为item1,但作为相同类型的子节点元素,在该选择器下,只匹配到第一个元素为蓝色背景;

上一篇下一篇

猜你喜欢

热点阅读