【问题标题】:Are only ascii characters valid for CSS style names只有 ascii 字符对 CSS 样式名称有效
【发布时间】:2016-06-14 05:19:17
【问题描述】:

我在 CSS 样式名称中查找了哪些字符是有效的,发现了一些问题/帖子,例如:

Which characters are valid in CSS class names/selectors?

Can I safely use unicode characters (e.g. accents) in CSS class names or ids?

https://css-tricks.com/unicode-class-names/

所有这些都表明重音字符和其他 Unicode 字符可用于 CSS 样式名称。但是我发现 Safari 和其他浏览器的行为不同。 例如在 CSS 样式名称中使用 Ø Ö Ä ñ 等字符时,Safari 不会应用该样式,但 Chrome、Firefox、Edge 会。

然后我用 CSS-Validator 检查了这些样式名称,它确实给出了错误。

所以我的问题是,我们不能在没有 Unicode 转义的情况下正常使用这些字符吗? CSS 样式名称中是否只有 ASCII 字符有效?

【问题讨论】:

    标签: css validation safari webkit


    【解决方案1】:


    快速解答

    您应该始终使用 UTF-8 作为您的风格的字符编码 工作表和 HTML 页面,并在 HTML 中声明该编码。如果 你这样做,没有必要声明你的风格的编码 表。

    仅当您的样式表包含 非 ASCII 字符,并且由于某种原因,您不能依赖 HTML 的编码和相关的样式表是相同的。在 在这种情况下,您应该使用 @charset 或 HTTP 标头来声明 编码。 (如果您的 HTML 和 CSS 文件使用相同的编码,则 最新版本的主要浏览器将应用 HTML 的编码 文件添加到 CSS 样式表中。)

    参考:https://www.w3.org/International/questions/qa-css-charset

    【讨论】:

      【解决方案2】:

      我可以肯定地说,是的。即使在 html 创建程序中,如果你给一个对象一个包含非 ascii 字符的名称,如果你将它部署到一个位置,HTML 也不会正常工作。

      我是土耳其人,我们有一些非 ASCII 字符。 出于这个原因,我们看到很多人犯了这个错误。使用这些字符从来都不是好/好的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-20
        • 1970-01-01
        • 2012-09-27
        • 2022-11-17
        • 1970-01-01
        相关资源
        最近更新 更多