gpt4 book ai didi

css - 为什么 Dreamweaver 在注释中添加 CSS 代码?我们是否应该始终使用此注释来在 中使用 CSS?

转载 作者:行者123 更新时间:2023-12-01 22:45:21 24 4
gpt4 key购买 nike

在评论中添加CSS代码有什么好处?

<STYLE type="text/css">
<!--
H1 { color: red }
P { color: blue}
-->
</STYLE>

我们应该一直使用它还是没有必要?是不是和CDATA一样用于 JavaScript?

最佳答案

从 15 多年前开始就支持 HTML 2.0 浏览器,这是一个陈旧的问题。那些浏览器不知道 <script><style>标签,因此除非其中的内容隐藏在评论标记中,否则它会将它们作为文本内容吐到页面上,造成令人讨厌的困惑。

今天的做法绝对没有任何意义,但由于剪切和粘贴编码和 Dreamweaver 等糟糕的创作工具,它仍然存在。

在用作 XML 的 XHTML 中,您不得包含注释标记,否则您的脚本或样式表实际上只是一个注释,将被完全忽略。

一些作者使用 <![CDATA[ ... ]]> XHTML 中的脚本和样式表部分,但这是出于完全不同的原因。它允许您包含文字 <&内容中的字符,而无需执行正确的 XML 操作并将其转义为 &lt;&amp; .除了使代码更难阅读之外,脚本和样式中的 HTML 转义会混淆传统的非 XML HTML 解析器:在 HTML4 中,脚本和样式元素是神奇的,并且可以在不转义的情况下包含这些字符(你可以' t 使用的是 </ 因为它结束了元素)。

当您确实在打算由非 XML HTML 解析器读取的文档中使用 CDATA 部分时,您应该使用 CSS 或 JavaScript 注释来隐藏 CDATA 部分标记:

<script type="text/javascript">//<![CDATA[
...
//]]></script>

<style type="text/css">/* <![CDATA[ */
...
/* ]]> */</style>

对于 HTML 3.2 中常见的老式评论包装,CSS 和 JS 解析异常(exception)以允许 <!---->序列会被忽视,但 <![CDATA[ 并非如此或 ]]>这将被 CSS 或 JavaScript 解析器视为语法错误。

如果,老天保佑,你需要支持 HTML 2.0、3.2+ XHTML 解析器,你最终会需要这个可怕的困惑:

<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>

<style type="text/css"><!--/*--><![CDATA[/*><!--*/
...
/*]]>*/--></style>

谢天谢地,这永远不会发生。

您通常可以完全不加评论或 CDATA 废话,因为 CSS 几乎从不需要使用 <&字符,并且在 JavaScript 中,您通常可以将小于比较重写为无害的 > , 和逻辑与反转逻辑或。当您想放置 < 时,CSS 和 JavaScript 都提供了 native 转义。或 &字符串文字中的字符(例如 '\x3C' )。

在任何情况下,大量的样式和脚本 — 您最有可能想要使用这些字符的地方⟩—⟩通常应该在外部链接文件中,这使得这一点没有实际意义。

关于css - 为什么 Dreamweaver 在注释中添加 CSS 代码?我们是否应该始终使用此注释来在 <head> 中使用 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com