Sass 选择器函数

更新日期: 2021-06-21阅读: 2.1k标签: 选择器

本节我们来看一下 Sass 中的选择器函数,选择器函数用于查看与处理选择器。

Sass 中常用的选择器函数:

函数描述
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() 函数用于比较两个选择器匹配的范围。判断第一个选择器是否包含了第二个选择器。

语法如下所示:

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() 函数用于将一个或多个选择器添加到第一个选择器的后面。

示例:

例如我们将 con_p 选择器添加到 .con 选择器后面:

.one{   
    content: selector-append(".con", ".con_p");
}

编译成 CSS 代码:

.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;
}


链接: https://www.fly63.com/article/detial/10463

CSS3 target 选择器_:target伪类的使用

arget作为目标伪类选择器,是css3中的新特性之一。URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。:target 选择器可用于选取当前活动的目标元素。

css兄弟选择器(+ 和 ~)的使用和区别

这篇文章主要讲解css中兄弟选择器的使用,以及+和~的区别有哪些?+ 选择器:如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。 ~ 选择器:作用是查找某一个指定元素的后面的所有兄弟结点。

jquery的选择器有哪些?如何对元素取值和设置值

jQuery 选择器 jQuery 选择器允许您对 HTML 元素组或单个元素进行操作, Jquery 选择器包括:基本选择器、层叠选择器 、基本过滤选择器 、内容过滤选择器、可视化过滤选择器.....

CSS中的focus-within伪类选择器

在CSS中 :focus-within 是一个伪类,CSS中伪类:focus-within能非常方便处理获取焦点状态, 当元素本身或其后代获得焦点时,:focus-within伪类的元素就会有效。

vue 选择器_实现scoped深度作用选择器

vue项目中,当<style>标签有scoped属性时,它的 CSS 样式只作用于当前组件中的元素,父组件的样式将不会渗透到子组件中。如果你希望 scoped 样式中的一个选择器能够作用得更深,例如影响子组件

css 选择器符号

空格:后代选择器,表示div元素里面所有的p元素。> 子选择器:表示div元素里面所有的子代(不含孙代及以后)p元素,~兄弟元素选择器:表示.cls元素往后的同级的p元素

css选择器总结_30个CSS3选择器

总结30个CSS3选择器:*选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除浏览器默认样式的方法。

css节点选择器

基础选择器是选择器的所有选择器的基本组成元素,也最简单,包含如下5个类别:ID选择器,标签选择器,类选择器,属性选择器,通配选择器

CSS3 中关于 *-of-type 和 *-child的差异性及适用场景

CSS3 中有很多表示元素序号的选择器,有以下几种:first-child、:first-of-type、:last-of-type、:only-of-type、:only-child、:nth-child(n)、:nth-last-child(n)、:nth-of-type(n)、:nth-last-of-type(n)、:last-child

微信小程序文档没写支持, 但是实际支持的选择器有哪些?

目前支持的选择器有,在实践中我发现, 除了文档上说的几种选择器, 经过测试发现其实还有几种支持的选择器没有列举!还支持哪些选择器?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!