我正在查看Amazon的一些CSS,并注意到他们有HTML注释掉了一大块CSS。我知道Internet Explorer的条件格式有HTML注释,但我在Chrome中查看了这个。它的目的是什么?
哦,我应该注意到这些风格实际上正在应用。
<!-- BeginNav -->
<style type="text/css">
<!--
.nav-sprite {
background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V141013396_.png);
}
.nav_pop_h {
background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-h._V155853593_.png);
}
.nav_pop_v {
background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-v._V155853593_.png);
}
.nav_ie6 .nav_pop_h {
background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-h._V155961234_.png);
}
.nav_ie6 .nav_pop_v {
background-image: url(http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-v._V155961234_.png);
}
.nav-ajax-loading .nav-ajax-message {
background: center center url(http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif) no-repeat;
}
-->
</style>
答案 0 :(得分:28)
它是由认为该网站访问者使用无法识别<style>
标记的浏览器的人创建的。
(古代)浏览器,由于HTML注释,不会识别<style>
标签,因此不会显示“怪异”字符(CSS规则)。
大多数浏览器都会识别<style>
标记,因此开发人员似乎使用<!-- -->
(不良)习惯。 不应该使用。
答案 1 :(得分:0)
请记住,不仅浏览器会解释HTML 。 电子邮件客户端也这样做,其中一些使用旧引擎或非常奇怪的规则。
通常,这是为HTML电子邮件创建模板时使用的某种技巧,因此,如果在未正确解释{的客户端上打开电子邮件, {1}}标签,那么客户端不应在邮件正文中显示CSS样式。还有更多的现代客户端应正确解释样式,因为<style>
不是CSS的注释,而是CSS解析器应忽略的语法。
在这种情况下,仅当我们想在<! - ->
标记中包含 Media Queries 的CSS规则时,它才能合法化。否则,在我们使用普通样式的电子邮件模板中,建议使用内联CSS 样式。
答案 2 :(得分:-3)
/*
.css {
whatever code
}
*/
这是评论的方式。