也许标题有点夸大了。虽然不能完全保证大家都不知道这些,但是这也算是一个好机会检测下你是否知道或使用过下面的内容。
Selectors
Root
- :root { }
使用root可以让你在DOM中选择***级父元素。如果你在写HTML,那么htnl元素永远是***的。因为对于一个目标元素伪类选择器有更高特性,你可以用:root重写元素。
使用:root改变背景颜色
First Line
::first-line 选择器可以让你选择段落***行,当然,还有其他选择器让你可以选择***段,但是使用这个方式,可以设计***行样式,有更大的设计空间。
更令让惊喜的功能,该选择器可以重写。相当棒的,不是吗。
改变段落***行元素
First Letter
- ::first-letter
和上面个的很相似,该选择器可以让我们选择块级元素的***个字母。这让我们在设计首字下沉是非常方便快捷。
::first-letter首字下沉效果
Not Selector
- :not(x)
:not(x)选择器在你没有指定时选择目标元素,下面的例子将为你详细说明。
- List Item
- List Item
- List Item
- List Item
不使用"active",也可以选择所有项目,只需要下面的代码:
- ul li:not(.active) {}
该方式对于添加导航元素相当方便,看看上面的例子,你就知道。
使用:not() 选择所有列出的元素,不使用active
Combinators
直接相邻选择符
- span + span
技术上来说,这不是一个选择器,但可以把两个选择器放在一起。使用"+",可以直接选择元素,把另外一个放在后面。下面是例子:
- Lorem ipsum blah blah blah
- Lorem ipsum blah blah blah
- Lorem ipsum blah blah blah
使用下面CSS:
- blockquote + p { font-weight: bold; }
第二段元素就会加粗。
引用元素后面使用相邻选择符
General Sibling Combinator
普通相邻选择符
- figure ~ p {}
使用你设计的页面层次结构,就是他了。例如,使用上面的代码,只影响图形元素后的段落元素。
使用普通相邻选择符选择所有段落