IE6 8 CSS檔案中文注釋引發樣式問題

2021-06-16 13:10:52 字數 532 閱讀 8633

今天同事遇到乙個問題,頁面樣式在其它瀏覽器正常,ie下失效。幫他看了一下,起因是css中包含一行中文注釋,注釋之後定義的樣式在ie下失效了,去掉那行中文注釋一切正常。這問題我自己原來也遇到過,所以後來寫注釋的時候都用英文,也沒細研究過bug如何觸發的。今天被人問到了,總不好跟人家說你以後寫注釋就用英文吧,畢竟很多時候即便使用中文注釋也不會出現這問題。

觸發原因:

1、html頁面編碼與css編碼不同(demo中html為gbk,css為utf-8)

2、css檔案中未指定@charset頭宣告,導致ie預設使用頁面編碼來解碼css檔案

3、當中文注釋字數為奇數時,會與結尾的 「*/」 組合成新的合法字元,致使注釋未能關閉,緊跟其後的樣式被注釋失效。

解決方案:

1、在中文注釋右側加空格,例如 /*前端開發*/改為/*前端開發   */。

2、統一html、css字元編碼。

3、css檔案**頂部加宣告,例如 @charset "utf-8";  指定編碼型別。

推薦方案3,嚴格要求自己的編碼風格,養成良好習慣。

css中相容各個IE版本

ie6,ie7,ie8,firefox相容的css hack 補充 color 好多css hack,最重要的是簡單實用能解決問題就行了 總結 9 ie6 ie7 ie8 ie6 ie7 ie6 ie7 ie6,ie7,firefox相容的css hack 第一種辦法 body 第一排給firefo...

CSS中IE的IF條件使用注釋

在css布局中,還常常用到ie hack。if ie條件注釋的使用就起著很大的作用。if ie什麼意思呢?下面就列舉了一些在css常見的hack控制語句。除ie外都可識別 所有的ie可識別 只有ie5.0可以識別 僅ie5.0與ie5.5可以識別 ie5.0以及ie5.0以上版本都可以識別 僅ie6...

css中IE判斷語句 if IE

1.除ie外都可識別 2.所有的ie可識別 3.只有ie5.0可以識別 4.僅ie5.0與ie5.5可以識別 5.ie5.0以及ie5.0以上版本都可以識別 6.僅ie6可識別 7.ie6以及ie6以下版本可識別 8.ie6以及ie6以上版本可識別 9.僅ie7可識別 10.ie7以及ie7以下版本...