2013-04-15 81 views
0

在html頁面中支持這些瀏覽器Mozilla Firefox14,IE8,Safari5.1.1,Chrome19。 既然要支持所有這些瀏覽器,我必須使用CSS黑客來保持頁面元素的正確對齊。Safari瀏覽器的CSS黑客工作IE8

下面是CSS:

對於Mozilla Firefox和IE8:

.dis_stats 
{ 
position:absolute; 
margin-top:-30px; 
margin-left:-190px; 
background:#E0E0E0; 
width:141px; 
height:80px; 
_position:relative; 
_margin-top:-460px; 
_margin-left:115px; 
} 

對於Safari瀏覽器Chrome的&:

@media screen and (-webkit-min-device-pixel-ratio:0) { 
.dis_stats 
{ 
position:absolute; 
background:#E0E0E0; 
margin-top:-30px; 
margin-left:731px; 
width:141; 
height:80; 
} 
} 

現在正在發生的事情上被完美地運行Mozilla。但在IE8上,它正在應用爲Chrome瀏覽器&定義的屬性,如果我刪除了任何Safari的屬性,那麼它將從預期屬性(即爲IE8 & Mozilla定義)中選擇相同屬性。

我不明白爲什麼會發生這種情況。任何人都請提出這裏有什麼問題?

+0

唯一不同的是'margin-left',你知道嗎? – MMM

+0

是的,但關鍵是爲什麼它會選擇用於SAFARI&CHROME的CSS? – Infotechie

+1

必須有更多的東西,向我們展示完整的css文件。 – MMM

回答

0

我建議您嘗試制定符合標準且不需要黑客的版本。 但是如果你必須破解,可以考慮有條件的意見專門爲IE 8與單獨的樣式表,修復自己的問題:

<!--[if lt IE 8]> 
<style type="text/css" src="path/to/ie-only-style.css"> 
<![endif]--> 

這並不真正說明了什麼問題與IE瀏覽器,但是可以解決一些特定的IE-問題而不用太多時間(以可維護性爲代價)。