咱们在应用 CSS 时,如果想要为多层嵌套的元素设置款式,要么给元素加上一个类选择器或ID选择器,要么应用后辈选择器。例如:
.xkd{ font-size: 14px;}.xkd p{ line-height: 25px;}.xkd p span{ color: #ccc;}
这样写尽管也好了解,然而没有那么直观,保护起来也不不便。
而 Less 中的嵌套规定正好能够解决这样问题,嵌套规定容许在一个选择器中嵌套另一个选择器,这样能够使得代码看起来高深莫测,前期保护也不便。
嵌套的应用
例如下面的 CSS 代码应用 Less 语言来写:
.xkd{ font-size: 14px; p{ line-height: 25px; span{ color: #ccc; } }}
这样整体看起来是不是更直观一些,一层套一层。然而留神哟,个别咱们不会嵌套太多层,嵌套的层数越多,性能就越差,倡议个别嵌套三层左右。
&符号的应用
在咱们应用嵌套规定时,要特地留神 &
符号的应用,&
符号能够示意对父选择器的援用。
在一个内层选择器的后面,如果没有 &
符号,则这个内层选择器会被解析为父选择器的后辈。如果内层选择器后面有一个 &
符号,则内层选择器会被解析为父选择器本身或父选择器的伪类。
示例:
例如咱们看上面这段代码:
.xkd{ a{ color: #eee; }}
编译成 CSS 代码:
.xkd a { color: #eee;}
能够看到,标签选择器 a
后面没有加 &
符号,所以这个标签选择器 a
被解析为 .xkd
选择器的后辈。
示例:
再来看一下内层选择器后面加 &
符号:
.xkd{ &one{ font-size: 12px; } &:hover{ color: #fff; }}
编译成 CSS 代码:
.xkdone { font-size: 12px;}.xkd:hover { color: #fff;}
下面代码中,one
后面增加了一个 &
符号,这个符号就示意父选择器自身,所以解析后为.xkdone
。当然 :hover
伪类后面的 &
符号也是同理。
反复援用父选择器
通过应用 &
符号,能够反复援用父类选择器。
示例:
例如上面这段 Less 代码,如果咱们心愿每个选择器名的前缀都为 top
,能够像上面这样简写:
.xkd{ &-one{ font-size: 14px; } &-two{ font-size: 16px; } &-three{ font-size: 18px; }}
编译为 CSS 代码:
.xkd-one { font-size: 14px;}.xkd-two { font-size: 16px;}.xkd-three { font-size: 18px;}
除此之外,还能够同时应用多个 &
符号,并应用其余运算符连接起来:
.xkd{ &&-one{ font-size: 14px; } &,&-two{ font-size: 16px; } &, &er{ font-size: 18px; }}
编译为 CSS 代码:
.xkd.xkd-one { font-size: 14px;}.xkd,.xkd-two { font-size: 16px;}.xkd,.xkder { font-size: 18px;}
更改选择器程序
什么是更改选择器程序呢,就是有些时候可能须要将内层选择器放在父选择器之前,此时咱们能够将 &
放在以后选择器前面来实现。
示例:
例如上面这段代码,咱们心愿 .xkd
选择器位于 .nav
选择器之前,能够在 .xkd
选择器的前面加一个 &
符号:
.nav{ font-size: 14px; .xkd &{ color: #fff; }}
编译为 CSS 代码:
.nav { font-size: 14px;}.xkd .nav { color: #fff;}
能够看到,编译之后的 CSS 代码中 .xkd
选择器位于 .nav
选择器后面。
总结
本节咱们次要把握 Less 中的嵌套规定和 &
符号的应用, &
符号能够示意父选择器。最初,记住应用嵌套的时候不要嵌套太多层,会影响性能。
链接:https://www.9xkd.com/