【问题标题】:cannot target css selector [duplicate]无法定位css选择器[重复]
【发布时间】:2018-04-05 12:54:42
【问题描述】:

我在另一个开发人员编写的框架中工作,我只能接触 scss(css) 而不能接触 html。我正在用 scss 写作,我需要使用“13_steps”类更改 div 内 h1 的样式。但我无法让我的风格生效。

示例 html:

<div class="13_steps">
<h1>Headline</h1>
</div>

scss 示例:

.13_steps {
   h1 {
     color: black;
   }
}

我有一个模糊的回忆,曾经读过你不应该将选择器命名为“[some number]_[name]”......但我不记得为什么或者即使这是我的问题。有没有人有任何信息或想法?

【问题讨论】:

  • 根据这个答案,CSS 类名不应以数字开头:stackoverflow.com/a/449000/5611328。在您的情况下,您使用的浏览器可能不支持以数字开头的 CSS 类。

标签: html css sass css-selectors


【解决方案1】:

您的代码是正确的。确保您正在更改 scss 文件,如果您正在更改 css,它可能会在 scss 编译时被覆盖。 还要确保您正在编译 scss 并将其复制到正确的位置。

【讨论】:

    【解决方案2】:

    类名从不以数字13_steps开头

    在开始时使用一些字符,然后使用这样的数字a13_steps

    在 CSS 中,标识符(包括元素名称、类和 ID) 选择器)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线 (_);它们不能以数字、两个连字符或后面的连字符开头 一个数字。标识符还可以包含转义字符和任何 ISO 10646 字符作为数字代码(参见下一项)。例如, 标识符“B&W?”可以写成“B\&W\?”或“B\26 W\3F”。

    https://www.w3.org/TR/CSS21/syndata.html#characters

    【讨论】:

    • 感谢您的回答。我以前听说过从不以数字开头,但我不记得为什么。你能给我一个简短的解释为什么,或者给我指出一篇文章或什么的吗?我必须去找其他开发人员并说服他改变他的框架。
    • W3 标准有一些我们需要遵循的命名约定条件,我用一个链接更新了我的答案,我认为这将消除您的所有疑虑。
    • 非常感谢!!这非常有帮助!基于其中的一些,我找到了一个解决我使用 unicode 并且有效的工作。因此,在 CSS 中,我没有调用选择器“.13_steps”,而是将其命名为“./31 3_steps”,这样就可以了。不理想,但在我们能够正确构建框架之前它会起作用。
    猜你喜欢
    • 1970-01-01
    • 2019-12-25
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多