HTML-комментарии в CSS?
Я просматривал некоторые из 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>
Ответы
Ответ 1
Он создан кем-то, кто думал, что посетители сайта используют браузер, который не распознает теги <style>
.
(древние) браузеры, которые не распознают теги <style>
, не будут отображать "странные" символы (правила CSS) из-за комментариев HTML.
Большинство браузеров распознают тег <style>
, поэтому разработчик использует <!-- -->
из (плохой) привычки. Он должен не использоваться.
Ответ 2
Давайте помнить, что не только браузеры интерпретируют HTML. Почтовые клиенты также делают это, и некоторые из них используют старые механизмы или очень странные правила.
Как правило, это некоторый тип трюка, который используется при создании шаблона для электронных писем в формате HTML, поэтому, если электронное письмо открывается на клиенте, который неправильно интерпретирует <style>
клиент не должен отображать CSS стили в теле сообщения. И более современные клиенты должны правильно интерпретировать стили, потому что <! - ->
<! - ->
это не комментарий для CSS, а только непонятный синтаксис, который должен игнорироваться синтаксическим анализатором CSS.
В этой ситуации его можно узаконить только в том случае, если мы хотим включить правила CSS для медиазапросов в <style>
. В противном случае, в шаблонах электронной почты, когда мы используем обычные стили, рекомендуется использовать встроенные стили CSS.
Ответ 3
/*
.css {
whatever code
}
*/
Вот как комментировать.