如果我将 SMGL 注释 (<!--hello-->) 放在 HTML 文档的样式元素内,VS Code 会感到困惑吗?

问题描述 投票:0回答:1

当使用 VS Code 编写 html 时,如果我在 style 元素中添加嵌入的 CSS,语法高亮会更改文档的样式,就好像整个文档都是 CSS 一样。

我已经尝试过了;

  • 禁用所有扩展并重新加载 VS Code。
  • 完全删除所有扩展并重新加载 VS Code。
  • 为 .html 添加 html 文件关联。

html css visual-studio-code syntax-highlighting
1个回答
0
投票

这是由 style 元素中的 HTML 注释引起的。这对于较旧的浏览器是合法的,但请参阅以下来自CSS 2.1规范的引用:

CSS 还允许在语法定义的某些位置使用 SGML 注释分隔符(“

<!--
”和“
-->
”),但它们不分隔 CSS 注释。它们是允许的,因此 HTML 源文档(在 STYLE 元素中)中出现的样式规则可能对 HTML 3.2 之前的用户代理隐藏。有关更多信息,请参阅 HTML 4 规范 ([HTML4])。

并且 在 CSS 3 规范中,

<!--
-->
基本上什么都不做
。它们之间的文本将被视为没有换行
<!--
-->

但我不知道 VS Code 对 HTML 中样式元素的内置语言支持是否遵循 CSS 规范,或者它遵循哪个规范版本。

© www.soinside.com 2019 - 2024. All rights reserved.