【问题标题】:How to set the lang global attribute for <html> inside an external CSS file (.css)如何在外部 CSS 文件 (.css) 中为 <html> 设置 lang 全局属性
【发布时间】:2019-09-14 02:40:51
【问题描述】:

当我尝试为 CSS 样式表(外部 .css 文件)内的 &lt;html&gt; 元素设置 lang 属性时,我不断收到警告消息。

在 CSS 样式表中,我添加了以下内容来为 &lt;html&gt; 标签设置 lang 属性:

html {
  lang: "en-US";
}

但是,我的编辑器(VS 代码)会提示我一条警告消息,说明如下:

Unknown property: 'lang'css(unknownProperties)

我不确定我所做的是否正确,所以我想知道是否有办法为&lt;html&gt; 标记在.css 内设置lang 属性?

【问题讨论】:

  • 如您所说,CSS 中没有 lang 属性。 HTML 的 lang 属性也不是样式,因此层叠 Style 工作表不能也不应该设置该 HTML 属性。

标签: html css attributes lang


【解决方案1】:

我们平时在使用内联样式的时候,可能会误以为style的具体属性和html的其他属性一样,其实不然。

lang是分层的,id、class、style在同一层级,css在某种程度上是html样式属性的集合。

你不能改变style(css)来改变id或class的值,和lang一样。(至少现在)

只需在 ele 中使用 lang。

我不明白为什么 web 使用 lang 作为 html 全局属性,为什么不用 style 属性而是一些有趣的东西。

在 mdn 中删除目录:

如果 CSS 页面处于活动状态并且元素支持这些属性,则该属性可以被 CSS 属性方向和 unicode-bidi 覆盖。

由于文本的方向性在语义上与其内容相关,而不是与其呈现相关,因此建议 Web 开发人员尽可能使用此属性而不是相关的 CSS 属性。这样,即使在不支持 CSS 或 CSS 已停用的浏览器上,文本也能正确显示。

从逻辑上讲,Lang 可能能够适应样式而不是全局属性,但它是全局属性之一,至少现在不能在 css 中设置,所以当它们不破坏某些东西时,只需遵循约定即可。

【讨论】:

    【解决方案2】:

    我从未见过或听说过在 CSS 文件中设置语言。据我所知,您应该在 HTML 文档的顶部声明它,如下所示:

    <!DOCTYPE html>
    <html lang="en"> <!-- RIGHT HERE -->
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <link rel="stylesheet" href="style.css">
      <title>Document</title>
    </head>
    <body>
    
    </body>
    </html>
    

    我可以为 CSS 找到的唯一与语言相关的属性是 :lang()

    根据 W3 学校:

    :lang() 选择器用于选择具有指定值的 lang 属性的元素。

    您可以阅读整页 hereMDN,随心所欲。

    【讨论】:

    • 谢谢,但我已经知道这个方法了。我仍然想知道是否可以在 .css 文件中进行设置;如果不是,为什么?
    • 据我所知,您无法在 CSS 文件中设置语言。您可以指定要使用的字符集。最常见的一种是 UTF-8。您可以像这样在 CSS 文件的顶部声明它:@charset "utf-8";
    猜你喜欢
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 2016-05-13
    • 2016-03-13
    • 1970-01-01
    • 2017-03-01
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多