本节咱们来看一下 Sass 中的选择器函数,选择器函数用于查看与处理选择器。css
Sass 中经常使用的选择器函数:html
函数 | 描述 |
---|---|
is-superselector() | 比较两个选择器匹配的范围,匹配则返回 true,不然返回 false |
selector-append() | 将一个(或多个)选择器添加到第一个选择器的后面 |
selector-nest() | 返回一个新的选择器,该选择器经过提供的列表选择器生成一个嵌套的列表 |
selector-parse() | 将字符串的选择符 selector 转换成选择器队列 |
selector-replace() | 给定一个选择器,用 replacement 替换 original 后返回一个新的选择器队列。 |
selector-unify() | 将两组选择器合成一个复合选择器。如两个选择器没法合成,则返回 null 值 |
simple-selectors() | 将合成选择器拆为单个选择器 |
下面是本节要用到的 HTML 代码:编程
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Sass学习(9xkd.com)</title> <link rel="styleSheet" type="text/css" href="./style.css"> </head> <body> <div class="con"> <h3>你好,侠课岛!</h3> <p class="con_p"><span class="con_span">编程语言</span>学习</p> <ul> <li>Python</li> <li>Java</li> <li>HTML</li> </ul> </div> </body> </html>
is-superselector()函数
is-superselector()
函数用于比较两个选择器匹配的范围。判断第一个选择器是否包含了第二个选择器。app
语法以下所示:编程语言
is-superselector(super, sub)
示例:
.one{ content: is-superselector("div", "div.con_p"); } .two{ content: is-superselector("h3", "span"); }
编译成 CSS 代码:函数
.one { content: true; } .two { content: false; }
从输出结果能够看出,由于 div
选择器中包含了 div.con_p
选择器所匹配的范围,因此输出结果返回 true
。而 h3
选择器不包括 span
选择器匹配范围,因此输出结果返回 false
。学习
selector-append函数
selector-append()
函数用于将一个或多个选择器添加到第一个选择器的后面。url
示例:
例如咱们将 con_p
选择器添加到 .con
选择器后面:spa
.one{ content: selector-append(".con", ".con_p"); }
编译成 CSS 代码:.net
.one { content: .con.con_p; }
selector-nest()函数
selector-nest()
函数返回一个新的选择器,该选择器经过提供的列表选择器生成一个嵌套的列表。
示例:
.one{ content: selector-nest("ul", "li"); }
编译成 CSS 代码:
.one { content: ul li; }
selector-parse()函数
selector-parse()
函数将字符串的选择符 selector 转换成选择器队列。
示例:
.one{ content: selector-nest(".con .con_p span"); }
编译成 CSS 代码:
.one { content: .con .con_p span; }
selector-replace()函数
selector-replace()
函数给定一个选择器,用replacement 替换 original 后返回一个新的选择器队列。
语法以下所示:
selector-replace(selector, original, replacement)
示例:
.one{ content: selector-replace("div.con_span", "div", ".con"); }
编译成 CSS 代码:
.one { content: .con_span.con; }
selector-unify() 函数
selector-unify()
函数将两组选择器合成一个复合选择器。如两个选择器没法合成,则返回 null 值。
示例:
.one{ content: selector-unify("p", ".con_span"); } .two{ content: selector-unify("h3", "p"); }
编译成 CSS 代码:
.one { content: p.con_span; }
simple-selectors() 函数
simple-selectors()
函数将合成选择器拆为单个选择器。
示例:
例以下面这段代码:
.one{ content: simple-selectors("div.con_p"); } .two{ content: simple-selectors("div.con_p.con_span"); }
编译成 CSS 代码:
.one { content: div, .con_p; } .two { content: div, .con_p, .con_span; }