内部样式表中的HTML注释标记

时间:2012-11-04 14:58:31

标签: html css stylesheet

  

可能重复:
  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注释会从非常旧的浏览器中隐藏这些定义。

现在我的问题是,评论之间的内容如何可能只隐藏旧浏览器而不是新浏览器?新浏览器不会受到评论的影响吗?

2 个答案:

答案 0 :(得分:4)

旧的(或更确切地说,古老的)浏览器无法识别<style>,因此它被视为任何其他未知元素,其内容被视为HTML。评论被视为评论,因此不会呈现任何内容。

支持<style>的浏览器知道将内容视为CSS并忽略HTML评论(根据the specification)。

答案 1 :(得分:2)

这个想法是,这是一种新浏览器支持内联样式表的方法。这只是一个规则,在内部样式表中,html注释分隔符(<!---->)将被忽略,因此此方法将起作用。 (如果我没弄错的话,它们只会在样式表的开头和结尾被忽略,但我对此并不完全确定。)

在旧版浏览器中,它不知道如何处理脚本标记,因此它会将所有内容直接放在页面上。但是,除了注释之外没有任何内容,因此用户不会看到任何内容。如果您确实想在CSS中使用评论,请使用CSS评论样式(/**/)。

还要注意,这是非常古老(或古老)浏览器的方法。这种技术现在已经不再常见了,我敢说它已经不再需要了(旧的浏览器可能无法正常显示你的页面)。