Css Sass检查规则是否应用于类

Css Sass检查规则是否应用于类,css,if-statement,sass,border-box,Css,If Statement,Sass,Border Box,我有一个类,如果已经应用了某个特定的样式,则应该使用一个规则,如果已经应用了另一个样式,则应该使用另一个规则。例如,假设有人包含我的样式表,并将框大小设置为边框框,我如何检查我的类是否会应用这样的规则 // from another person's stylesheet * { box-sizing: border-box; } // rules created by my Sass mixin .triangle { // if `border-box` xyz, else

我有一个类,如果已经应用了某个特定的样式,则应该使用一个规则,如果已经应用了另一个样式,则应该使用另一个规则。例如,假设有人包含我的样式表,并将
框大小设置为
边框框
,我如何检查我的类是否会应用这样的规则

// from another person's stylesheet
* {
    box-sizing: border-box;
}

// rules created by my Sass mixin
.triangle {
    // if `border-box` xyz, else abc
}

我认为这在CSS或SASS中是不可能的

请注意,这不是一个小问题:CSS的顺序决定了应用的CSS属性(您可以覆盖CSS属性)。您可以将CSS属性约束到最疯狂的html路径,SASS编译器甚至不知道这些路径,因为它独立于html代码。两者都会使您想要的功能难以实现


事实上,我也无法想到该功能的用例。也许您可以通过在html元素上使用越来越多的语义css类来解决您的问题。作为阅读的起点,您可能需要阅读的第3、6和7章。

您不能使用CSS,因为CSS是一种声明性语言。Sass不会改变CSS的工作方式;它只是让编写CSS变得更容易

如果你不确定申报单是否会在那里,就申报吧

例如:

// from another person's stylesheet
* {
    box-sizing: border-box;
}

// rules created by my Sass mixin
.triangle {
    box-sizing: border-box;
    border solid red 15px;
}
或者,如果要使用标准的
框大小调整

// rules created by my Sass mixin
.triangle {
    box-sizing: content-box;
    border solid blue 15px;
}

这是CSS级联的标准用法。

我也是SASS新手,也许可以研究一下SASS函数。开始阅读,然后继续。我也是:)我已经看过基本指南了。我正在寻找一个现代化的规则检测机制,如果你知道我的意思的话。用例是我正在制作一个库,无论项目的任何/所有部分是否应用border box,一切都需要工作。我需要用不同的规则来解释,所以我需要知道什么时候应用哪个规则。对于某些事情,没有一个一刀切的解决方案,我不能让人们选择。如果你甚至不知道编译时应用的所有CSS(如果你编译你的SASS并只提供CSS代码,情况就是这样),你肯定无法达到你想要的结果。CSS不提供此功能。也许您可以发布一些小javascript,它根据css属性添加类属性,然后您可以使用这些属性应用不同的css规则。