Jit*_*yas 2 css xhtml dreamweaver
在注释中添加CSS代码有什么好处?
<STYLE type="text/css">
<!--
H1 { color: red }
P { color: blue}
-->
</STYLE>
Run Code Online (Sandbox Code Playgroud)
我们应该一直使用它还是没有必要?它与 JavaScript 的CDATA相同吗?
它的过时之处是为了支持 15 多年前的 HTML 2.0 浏览器。这些浏览器不知道<script>和<style>标签,因此除非它们中的内容隐藏在注释标记中,否则它会将它们作为文本内容吐到页面上,造成严重混乱。
如今这种做法绝对没有任何意义,但由于剪切粘贴编码和 Dreamweaver 等糟糕的创作工具,它仍然存在。
\n\n在用作 XML 的 XHTML 中,您不能包含注释标记,否则您的脚本或样式表实际上只是注释,将被完全忽略。
\n\n一些作者在 XHTML 中使用<![CDATA[ ... ]]>脚本和样式表部分,但这是出于完全不同的原因。它允许您在内容中包含文字<或&字符,而无需执行正确的 XML 操作并将其转义为<或&。除了使代码更难阅读之外,脚本和样式中的 HTML 转义还会混淆传统的非 XML HTML 解析器:在 HTML4 中,脚本和样式元素很神奇,可以在不转义的情况下包含这些字符(您可以\不使用是</因为它结束了元素)。
当您在打算由非 XML HTML 解析器读取的文档中使用 CDATA 部分时,您应该使用 CSS 或 JavaScript 注释来隐藏 CDATA 部分标记:
\n\n<script type="text/javascript">//<![CDATA[\n ...\n//]]></script>\n\n<style type="text/css">/* <![CDATA[ */\n ...\n/* ]]> */</style>\nRun Code Online (Sandbox Code Playgroud)\n\n对于 HTML 3.2 中常见的老式注释包装,CSS 和 JS 解析有一个例外,以允许<!--和-->序列在不被注意的情况下溜过,但情况并非如此,<![CDATA[CSS]]>或 JavaScript 解析器会将 视为语法错误。
如果你需要支持 HTML 2.0、3.2+和XHTML 解析器(但愿不会),你最终会需要这种可怕的混乱:
\n\n<script type="text/javascript"><!--//--><![CDATA[//><!--\n ...\n//--><!]]></script>\n\n<style type="text/css"><!--/*--><![CDATA[/*><!--*/\n ...\n/*]]>*/--></style>\nRun Code Online (Sandbox Code Playgroud)\n\n值得庆幸的是,这永远不会发生。
\n\n您通常可以完全不用注释或 CDATA ,因为 CSS 几乎从不需要使用<or&字符,并且在 JavaScript 中您通常可以将小于比较重新转换为无害的>,并将逻辑与转换为反转逻辑或。当您想要在字符串文字中放置<or字符时(例如),CSS 和 JavaScript 都提供本机转义。&\'\\x3C\'
在任何情况下,大量的样式和脚本\xe2\x80\x89\xe2\x80\x94\xe2\x80\x89,您最有可能想要使用这些字符\xe2\x80\x89\xe2\x80 \x94\xe2\x80\x89 通常应该位于外部链接文件中,这使得这一点毫无意义。
\n