可能重复:
Commenting out stylesheets in HTML documents to support older browsers
我正在阅读Wrox发布的Professional ASP.NET 2.0。见下面的代码。
<head>
<style type="text/css">
<!--
body {
font-family:Verdana;
}
-->
</style>
</head>
以下几行来自本书:
包含HTML注释标记,因为并非所有浏览器都支持内部样式表。通常旧版浏览器不接受它们。在样式定义周围放置HTML注释会从非常旧的浏览器中隐藏这些定义。
现在我的问题是,评论之间的内容如何可能只隐藏旧浏览器而不是新浏览器?新浏览器不会受到评论的影响吗?
答案 0 :(得分:4)
旧的(或更确切地说,古老的)浏览器无法识别<style>
,因此它被视为任何其他未知元素,其内容被视为HTML。评论被视为评论,因此不会呈现任何内容。
支持<style>
的浏览器知道将内容视为CSS并忽略HTML评论(根据the specification)。
答案 1 :(得分:2)
这个想法是,这是一种新浏览器支持内联样式表的方法。这只是一个规则,在内部样式表中,html注释分隔符(<!--
和-->
)将被忽略,因此此方法将起作用。 (如果我没弄错的话,它们只会在样式表的开头和结尾被忽略,但我对此并不完全确定。)
在旧版浏览器中,它不知道如何处理脚本标记,因此它会将所有内容直接放在页面上。但是,除了注释之外没有任何内容,因此用户不会看到任何内容。如果您确实想在CSS中使用评论,请使用CSS评论样式(/*
和*/
)。
还要注意,这是非常古老(或古老)浏览器的方法。这种技术现在已经不再常见了,我敢说它已经不再需要了(旧的浏览器可能无法正常显示你的页面)。