最近在做一個網站的項目,遇到了一個很奇怪的問題,使用IE瀏覽器無法引入CSS樣式。
我先檢查了CSS代碼有沒有問題,結果發現沒有,而且在其他瀏覽器中都可以正常顯示樣式,但就是在IE中不生效。
接著我就開始檢查HTML代碼,發現我的CSS樣式是放在內部樣式中的,然后就想到了是否是IE中內盒引入不了CSS的問題。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>測試</title> <style> p { color: red; } </style> </head> <body> <p>這是一段測試文字</p> </body> </html>
通過這個簡單的例子,我們可以看到在IE瀏覽器中樣式可以正常應用。但是如果我們將CSS樣式代碼放在外部樣式表中,如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>測試</title> <link rel="stylesheet" href="style.css"> </head> <body> <p>這是一段測試文字</p> </body> </html>
這時候在IE瀏覽器中打開就會發現樣式無法應用。
經過進一步調查和了解,發現這是IE瀏覽器內核的bug導致的。解決這個問題的方法就是使用IE特有的條件注釋,在HTML頭部加入以下代碼:
<!--[if IE]> <link rel="stylesheet" href="style.css"> <![endif]-->
加上這段代碼之后,在IE瀏覽器中就可以正常應用CSS樣式了。
總結起來,雖然IE瀏覽器已經被分離,但是我們在開發過程中仍然需要兼容IE瀏覽器。