来自你一无所知的css

也许标题有点夸大了,也许内容有点多。虽然不能完全保证大家都不知道这些,但是这也算是一个好机会检测下你是否知道或使用过下面的内容。

Selectors

Root

:root {
    ...
} 

使用root可以让你在DOM中选择最高级父元素。如果你在写HTML,那么html元素永远是最高的。因为对于一个目标元素伪类选择器有更高特性,你可以用:root重写元素。

12

使用:root改变背景颜色

First Line

::first-line {
    ...
} 

选择器可以让你选择段落第一行,当然,还有其他选择器让你可以选择第一段,但是使用这个方式,可以设计第一行样式,有更大的设计空间。
更令让惊喜的功能,该选择器可以重写。相当棒的,不是吗。

12

改变段落第一行元素

First Letter

::first-letter {
    ... 
}

和上面个的很相似,该选择器可以让我们选择块级元素的第一个字母。这让我们在设计首字下沉是非常方便快捷。

12

::first-letter首字下沉效果

Not Selector

:not(x) {
    ...
}

:not(x)选择器在你没有指定时选择目标元素,下面的例子将为你详细说明。

List Item   
List Item    
List Item    
List Item

不使用"active",也可以选择所有项目,只需要下面的代码:

ul li:not(.active) {
    ...
} 

该方式对于添加导航元素相当方便,看看上面的例子,你就知道。

12

使用: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;
} 

第二段元素就会加粗。

12

引用元素后面使用相邻选择符

General Sibling Combinator

普通相邻选择符

figure ~ p {
    ...
} 

使用你设计的页面层次结构,就是他了。例如,使用上面的代码,只影响图形元素后的段落元素。

12

使用普通相邻选择符选择所有段落

友荐云推荐