CSS基础2 | 青训营笔记

88 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第4天

选择器分类(接上篇)

伪类选择器

伪类:不存在的类,特殊的类

作用:用来描述一个元素的特殊状态,例如:第一个子元素,被点击的元素,鼠标移入的元素......

语法:伪类一般情况下都是以:开头

  • :first-child(第一个子元素)
  • :last-child(最后一个子元素)
  • :nth-child()选中第n个子元素
    • 直接写n,表示选中 1 2 3 ...
    • 2n,表示选中2 4 6 8...
    • 4n, 表示选中4 8 12 16...
    • 2n+1,表示选中 1 3 5 7...
  • :first-of-type表示选中同种类型的第一个

image.png

a元素的伪类

  • :link用来表示没访问过的链接

image.png

  • :visited表示访问过的链接,由于隐私的原因,字体大小不能设置, 只能修改颜色

image.png

  • :hover 用来表示鼠标移入的状态

image.png

  • :active 用来表示鼠标点击的状态

image.png

伪元素选择器

伪元素:表示页面中特殊的并不存在的元素(特殊位置,如第一个字母等)

语法:以::开头

  • ::first-letter 表示第一个字母
  • ::first-line 表示第一行
  • ::selection 表示选中的内容
  • ::before 表示元素的起始
  • ::after 表示元素的最后
  • beforeafter必须结合content属性使用

image.png

样式的继承

样式的继承,我们为一个元素设置的一个样式同时也会应用到他的后代元素,继承是发生在祖先后代之间的。注意:并不是所有的样式都会被继承,比如背景相关的,但是如果父元素背景是绿的,会透出来,所以显得子元素也是绿的背景色

选择器的权重

样式的冲突

当我们通过不同的选择器选中相同的元素,并且为相同的样式设置不同的值,此时就发生了样式冲突

发生样式冲突时,由选择器的优先级决定

选择器的优先级
  1. 内联样式(1000)
  2. id选择器 (0100)
  3. 类和伪类选择器(0010)
  4. 元素选择器 (0001)
  5. 通配选择器(0000)
  6. 继承的样式(没有优先级)

比较优先级时,需要将所有的选择器的优先级进行相加计算,最后越高,则优先级越高(分组选择器单独计算)。如果优先级相同,则优先使用靠下的样式

可以在某一个样式后面加上一个!important,则此时该样式会得到最高优先级