在评论中添加css代码有什么好处?
<STYLE type="text/css">
<!--
H1 { color: red }
P { color: blue}
-->
</STYLE>
我们应该总是或不需要使用它吗? 与javascript的CDATA相同吗?
答案 0 :(得分:4)
这是古老的意味着支持15多年前的HTML 2.0浏览器。那些浏览器不知道<script>
和<style>
标签,所以除非它们内部的内容隐藏在评论标记内,否则它会将它们作为文本内容吐出到页面上,造成令人讨厌的混乱。
今天的练习绝对没有任何意义,但由于剪切和粘贴编码以及Dreamweaver等糟糕的创作工具,它仍然存在。
在作为XML的XHTML中,您不得包含注释标记,否则您的脚本或样式表实际上只是一个注释,将被完全忽略。
有些作者在XHTML中使用<![CDATA[ ... ]]>
部分来表示脚本和样式表,但这是完全不同的原因。它允许您在内容中包含文字<
或&
字符,而无需执行正确的XML操作并将其转义为<
或&
。除了使代码更难阅读之外,脚本和样式中的HTML转义会混淆传统的非XML HTML解析器:在HTML4中,脚本和样式元素是神奇的,并且可以在没有转义的情况下使用这些字符(您可以使用一个序列) t use是</
,因为它结束了元素。)
如果您打算在非XML HTML解析器中读取文档中的CDATA部分,则应使用CSS或JavaScript注释来隐藏CDATA部分标记:
<script type="text/javascript">//<![CDATA[
...
//]]></script>
<style type="text/css">/* <![CDATA[ */
...
/* ]]> */</style>
对于HTML 3.2中常见的老派评论包装,对CSS和JS解析进行了例外处理,以允许<!--
和-->
序列未被注意到,但事实并非如此对于<![CDATA[
或]]>
,CSS或JavaScript解析器会将其视为语法错误。
如果,天堂禁止,你需要支持HTML 2.0,3.2 + 和 XHTML解析器,你最终需要这个可怕的混乱:
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
...
/*]]>*/--></style>
谢天谢地,这永远不会发生。
你通常可以完全没有评论或CDATA残骸,因为CSS几乎不需要使用<
或&
字符,而在JavaScript中你通常可以重新编写比以下更少的比较无害的>
,以及倒置逻辑的逻辑和逻辑。当你想在字符串文字中放置<
或&
字符时(例如'\x3C'
),CSS和JavaScript都提供本机转义。
在任何情况下,大量的样式和脚本 - 您最有可能想要使用这些字符 - 通常应该在外部链接文件中,这使得这一点毫无意义。
答案 1 :(得分:2)
这是为了向后兼容不理解样式标记的渲染引擎。通过将样式放在注释中,引擎(希望)不会将它们呈现为纯文本。
由于大多数客户可以正确地呈现样式,因此这种做法不太重要,但仍然有点常见。我通常在自己的代码中忽略它,但这是个人偏好。
答案 2 :(得分:1)
您应该尽可能将styles
包含在外部样式表中。当您必须将它们包含在页面上时,更常见的是查看包含在<!CDATA[[ ... ]]>
块中的内容而不是注释。
评论不会在任何现代浏览器中禁用规则。
答案 3 :(得分:-1)