關於html里style標簽中注釋的問題


 
在Dreamweaver自動生成的網頁中,head中的樣式表往往是這樣的形式:
 

<style type="text/css">
<!--

......
-->
</style>

 

   在樣式表的開頭和結尾會自動添加一套html注釋標記:<!--和-->。如果以為這個跟html的注釋標記是一樣,用這個寫注釋,會導致樣式表定義失效。下面是運行效果對比:

 


 

 

   當<!--后面加上字之后,下面的內容就全被忽略了,直到</style>結束。

 

   這是一個很容易被忽視的低級錯誤。原因很簡單,CSS的注釋語法是:

 

/ * ...... * /

 

   而不是:

 

<!--

......

-->

 

   后者是正兒八經的html語法。兩者不是一回事兒。

 

   那么,為什么自動生成的style中要有這么一對html的注釋標記呢?

 

   這是為了兼容老版本的瀏覽器。老的瀏覽器不支持style,所以遇到style時,會把style樣式單的內容顯示在頁面上。但是老版本的瀏覽器認識html的注釋標記,所以加上標記后,這部分內容就會被當作注釋忽略掉,樣式單也就不會在頁面上顯示了。

 

   而支持style的瀏覽器,則會忽視<!--標記,從而正常使用樣式單。大概這也是為啥樣式表中的注釋要換成標記的原因之一吧。

 

上例的html源代碼(簡化版):

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style type="text/css">
<!--
#PageBox  {
......

 }
-->
<!--這里加上字
#PageBox2  {
......

 }
-->
</style>

</head>

<body>
<div id="PageBox">
......

</div>
<p>(為了方便瀏覽,這里加了很多&lt;p&gt;&amp;nbsp;&lt;/p&gt;,</p>
<p>不然第二個&lt;div&gt;的內容就要和第一個貼在一起了)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<div id="PageBox2">
......

</div>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 pycharm里html注釋是{# #}而不是 ? HtmlAgilityPack 刪除script、style以及注釋標簽 HTML標簽系列(一)之注釋標簽 HTML中的