Sass 在另一个CSS规则中包含一个CSS规则,而不使用@extend或@mixin

Sass 在另一个CSS规则中包含一个CSS规则,而不使用@extend或@mixin,sass,Sass,我有一条规则: .foo { ...} 稍后,我想在另一条规则中包括这一点: .bar { <want contents of .foo here> } 我有数百个可能适用于此的类,我不想要所有这些样板文件。我只想自由地将一个规则包含在另一个规则中,而不必首先将其设置为mixin,也不必处理@extend(即共享选择器)的语义 SASS是否可能实现这一点?确实存在。你应该在这里用一个 扩展.foo是不好的,因为如果以后制定类似.baz.foo的规则,那么扩展.foo的任何地方

我有一条规则:

 .foo { ...}
稍后,我想在另一条规则中包括这一点:

 .bar { <want contents of .foo here> }
我有数百个可能适用于此的类,我不想要所有这些样板文件。我只想自由地将一个规则包含在另一个规则中,而不必首先将其设置为mixin,也不必处理@extend(即共享选择器)的语义


SASS是否可能实现这一点?

确实存在。你应该在这里用一个

扩展
.foo
是不好的,因为如果以后制定类似
.baz.foo
的规则,那么扩展
.foo
的任何地方,其他两个类选择器也将被扩展

如果您将第一条规则改为

.foo,
%foo { font-family: 'foo' }
然后你就可以用
.foo
做任何你想做的事了。当您希望某些内容使用该规则中的样式时,请改为
@extend%foo
。占位符选择器不会编译到您的CSS中,如果您从未将其写入另一个选择器,则只会扩展更简单的规则

如果我们加上

.foo.baz { font-size: $baz }
.bar { @extend %foo }
您将很好地编译到

.foo, .bar { font-family: 'foo' }
.foo.baz { font-size: $baz }
所以你写了更多的字符,但这不是一个像mixin一样的全新的“规则”,你可以安全地将规则扩展到你的内心

扩展仍然可能失控,因此仍然要谨慎和深思熟虑地使用这些。我写了这封信,也许会有帮助


旁注:
如果这真的适用于数百个其他类,那么最好保持
.foo
简单,并将其作为一个实用类。然后,您将
.foo
添加到您想要扩展它的标记中。在没有细节的情况下,很难说这对你来说是否更好,但值得考虑。特别是如果规则做了一些简单但可重复使用的事情,如居中文本。

这确实存在。你应该在这里用一个

扩展
.foo
是不好的,因为如果以后制定类似
.baz.foo
的规则,那么扩展
.foo
的任何地方,其他两个类选择器也将被扩展

如果您将第一条规则改为

.foo,
%foo { font-family: 'foo' }
然后你就可以用
.foo
做任何你想做的事了。当您希望某些内容使用该规则中的样式时,请改为
@extend%foo
。占位符选择器不会编译到您的CSS中,如果您从未将其写入另一个选择器,则只会扩展更简单的规则

如果我们加上

.foo.baz { font-size: $baz }
.bar { @extend %foo }
您将很好地编译到

.foo, .bar { font-family: 'foo' }
.foo.baz { font-size: $baz }
所以你写了更多的字符,但这不是一个像mixin一样的全新的“规则”,你可以安全地将规则扩展到你的内心

扩展仍然可能失控,因此仍然要谨慎和深思熟虑地使用这些。我写了这封信,也许会有帮助


旁注:
如果这真的适用于数百个其他类,那么最好保持
.foo
简单,并将其作为一个实用类。然后,您将
.foo
添加到您想要扩展它的标记中。在没有细节的情况下,很难说这对你来说是否更好,但值得考虑。特别是如果规则做了一些简单但可重复使用的事情,比如居中文本。

你读过OP不想使用extends的部分吗?我读到他认为这是一种不好的做法,因此,鉴于这一点以及链接文章的观点,他似乎对这一点感到厌烦。我认为如果小心地使用占位符选择器(Sass文档中的占位符选择器),这并不是一种不好的做法。我的链接帖子解释了更多。你应该知道我今天早上读了你的一些评论,你对那些新加入的人来说是非常苛刻和令人沮丧的。我猜你不会在意的,这是我的错,因为我不明白你的意思。为帮助人们做点什么。干杯,酷。我尽了最大的努力来帮助他们,如果OP认为我的答案不对,他们没有义务接受。但我会让这个过程顺利进行。我会鼓励你继续努力。你读过OP不想使用extends的部分吗?我读到他理解这是一种不好的做法,因此,鉴于这一点以及链接文章的观点,他似乎对这一点感到厌烦。我认为如果小心地使用占位符选择器(Sass文档中的占位符选择器),这并不是一种不好的做法。我的链接帖子解释了更多。你应该知道我今天早上读了你的一些评论,你对那些新加入的人来说是非常苛刻和令人沮丧的。我猜你不会在意的,这是我的错,因为我不明白你的意思。为帮助人们做点什么。干杯,酷。我尽了最大的努力来帮助他们,如果OP认为我的答案不对,他们没有义务接受。但我会让这个过程顺利进行。我会鼓励你继续前进。