2013-06-05 31 views
0

我在構建的網站上遇到了一些有點奇怪的錯誤。CSS在不同瀏覽器中更改顏色

使用Chrome/Firefox/Safari/IE10它工作正常。但是,使用IE9它變成了藍色!哪裏不對?

我懷疑這個代碼是搞亂起來(@colorOne,@colorTwo由實際顏色替換):

.gradient (@colorOne, @colorTwo) { 
    background: @colorOne; /* Old browsers */ 
    background: -moz-linear-gradient(top, @colorOne 0%, @colorTwo 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@colorOne), color-stop(100%,@colorTwo)); /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(top, @colorOne 0%,@colorTwo 100%); /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(top, @colorOne 0%,@colorTwo 100%); /* Opera 11.10+ */ 
    background: -ms-linear-gradient(top, @colorOne 0%,@colorTwo 100%); /* IE10+ */ 
    background: linear-gradient(to bottom, @colorOne 0%,@colorTwo 100%); /* W3C */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorOne', endColorstr='@colorTwo',GradientType=0); /* IE6-9 */ 
} 
+0

你能提供一段代碼嗎?我們想知道它究竟是什麼。 – Edeph

+1

這是「IE9」截圖使用「Windows95」主題的PC嗎? ;-) – scunliffe

+0

你的顏色rgba顏色?漸變過濾器採用透明度不同的顏色格式。 – cimmanon

回答

3

你在你的CSS藍色微軟過濾梯度#top元素和其他元素上在您的網站內。但因爲你是專門詢問了頭,只是刪除:

#top { 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorOne', endColorstr='@colorThree', GradientType=1); 
    /* Remove this from any other element you wish to be green */ 
} 
+0

謝謝。你有什麼線索爲什麼它甚至不能在IE8中呈現? –

+0

不同的過濾器支持不同版本的IE:http://msdn.microsoft.com/en-us/library/ie/ms530752(v=vs.85).aspx – Adrift

1

唯一的區別是隻有IE解釋的梯度:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorOne', endColorstr='@colorThree', GradientType=1 

簡單地將其刪除。