眾所周知道,IE向來是我們在制作網頁時最難搞定的對手。但又迫於其用戶群數量之多,我們不得不想法設法搞定它。下面,將介紹的將是利用其特點而被發現/創造出來的CSS技巧。讓你輕松搞定這個難對付的家伙。
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="IE.CSS" />
<![endif]-->
這應該是我最常用的方法了,一般情況下,我們現在已經不用考慮IE5或者以下的浏覽器了,這個注釋讓我們可以輕松HACK IE,並且它是最安全的方法,因為別的浏覽器不會顯示/識別它(這裡應該感謝微軟的細心,即使他精粗心在先)。
至於IE8 beta,以其為主浏覽器的用戶算起來應該不到K級,也暫時不是我們應該搞定的對象(當然,搞定它是最好不過的事)。或者我們應該把希望放在他正式版對CSS完美的支持,而現在我們把最重要的放在搞定IE6
/IE7,區分它們,我最常用的是下面的代碼:
#forieothers{...} // 用這個搞定IE7
*Html #forie6{…} // 當然,這是寫給IE6的
而你需要注意的就是,別把它們的順序寫倒了,因為#forieothers這個是會被IE6看到的,而根據CSS書寫順序的優先性,應該把讓*Html #forIE6寫在後面,讓浏覽器最終顯示它,但IE7又看不到。
#regular_logo
{
background:url(’test.png’); width:150px; height:55px;
}
/* \ */
* Html #regular_logo
{
background:none;
float:left;
width:150px;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’test.
png’, sizingMethod=’scale’);
}
/* */
這並不是我喜歡的方法,不過,或許你會喜歡。當然,有時候,我們導出GIF圖片的時候,其效果和質量都可能不是很好,搞定PNG或許就是為這個而做的吧。也可能是由於自己並不是畫圖的高手,所以,比較少用。
#container
{
min-width: 600px;
max-width: 1200px;
width:expression(document.body.clIEntWidth < 600? "600px" :
document.body.clIEntWidth > 1200? "1200px" : "auto");
}
這應該是非常重要的技巧,也是比較常用的。就像,你以前可能用了太大的圖片,但現在又想用一個欄比較小的主題,這時,這個方法就顯得異常重要。抑或是,如果你想創建一個流體布局,這個代碼對你來說是必不可少的。
當然,這三個並不能讓你搞定所有IE的問題。不過,這應該是最重要的。IE注釋通常被CSS新手忽略,而IE6顯示透明PNG和IE6支持最小/最大寬度是難點。好吧,我想,看到這裡,或許你已經學會了,或者,至少知道這是解決方法。但或許還有一句話你應該記住:少罵IE,完善自己!