【发布时间】:2015-12-04 02:42:04
【问题描述】:
在使用 SASS 时如何使用“*”CSS 通配符选择器?例如,我将如何制作以下 CSS 代码 SASSy?
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 1;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
编辑:
感谢您到目前为止的回答,但让我澄清一下。我意识到代码示例有许多不同的观点。代码示例不是问题。问题仍然存在,我如何使用* 选择器? SASS 解析器在遇到* 时会抛出语法错误,并说它遇到了*,但需要一个选择器。我在 Mac OSX 10.9.5 上使用 Sass 3.4.19 (Selective Steve)。
编辑 2:
我找到了解决方案。该错误是由在紧接在* 代码块之前的行中包含的文件中缺少; 引起的。这就是处理其他人代码的生活。我将把答案授予@torazaburo,因为他是唯一一个真正解决这个问题并让我重新思考其他可能性的人。
【问题讨论】:
-
为什么要把它设为“SASSy”?你认为“SASSy”是什么意思?为什么你会认为
*在 CSS 预处理器中的工作方式与在常规 CSS 中的工作方式不同?顺便说一句,box-sizing不需要供应商前缀。 -
SASS 解析器不允许
*选择器。请查看我的编辑。 -
无法重现,通配符选择器不会抛出语法错误:sassmeister.com/gist/2cc406d17d20904bfddd
-
但这就是我的意思。 “X有效吗?”是一个可怕的问题,只能用“是”或“否”来回答。您可以通过自己测试来回答它。 torazaburo 一开始就应该知道不应该回答这样的问题。
-
@cimmanon 我对这个问题的第一条评论是为什么您认为
*在 CSS 预处理器中的工作方式与在常规 CSS 中的工作方式不同?对于 OP 来说,这是一个非常好的时间来谈论*根本不适合他,在这种情况下,事情会朝着完全不同的方向发展。事实上,问题似乎只是关于修改一些碰巧涉及星号的 CSS,使其更像 SASS。
标签: css sass css-selectors wildcard