某天无聊的时候,想起了关系选择器~

常见的有四种

'+' 相邻兄弟选择

'~' 通用兄弟选择器

'>' 子选择器

' ' 后代选择器(只要是后代就好了)

还在实验中的一个功能

'||'

为什么说有意思呢,首先因为它们不会影响优先级,要注意的是同级还是后写的覆盖先写的

用关系选择器也可以用来做到一些伪类选择器可以实现的效果

选择某个特定的元素, 比如第三个 p 标签

p:first-of-type + p + p

===

p:nth-child(3)

第二个元素之后的元素

p:first-of-type + p + p ~ * {
  color: pink
}

==

p:nth-child(3) ~ *{
   color: pink
}

==

p:nth-child(n+4){
  color: pink;
}

上面的代码在我写文章的时候,其实我已经感到一些差异性了。

比如,伪类选择器 nth-child ,运用在同一个标签的选择上。关系选择器则是可以运用在多种标签。

当然考虑到实际业务中可能会有各种变态的结构。各位看官还请仔细斟酌,切勿盲从