2011-04-11 103 views
7

我有一個輸入類型=具有背景顏色設置和上不同的一個按鈕:懸停 - 見http://jsfiddle.net/hc2Eu/3/背景顏色=按鈕:懸停狀態棒在IE

在IE(所有版本) - 時我將鼠標按下按鈕,移開按鈕,然後鼠標移動 - 背景顏色保持在:懸停設置,直到您再次將鼠標懸停在上面。

有沒有一些解決方法呢?最好不要與js? (IE6沒有必要)

回答

13

有可能是一個修復程序<input type="button"> - 但如果有,我不不知道。

否則,一個不錯的選擇似乎是用精心設計的a元素替換它。

例子:http://jsfiddle.net/Uka5v/

.button { 
    background-color: #E3E1B8; 
    padding: 2px 4px; 
    font: 13px sans-serif; 
    text-decoration: none; 
    border: 1px solid #000; 
    border-color: #aaa #444 #444 #aaa; 
    color: #000 
} 

上升空間包括了a元素將Internet Explorer中的不同(舊的)版本之間一貫風格,沒有任何額外的工作,而且我認爲我的鏈接看起來比那個按鈕更好:)

+0

我曾經想過 - 但我正在處理一個預先存在的系統,它具有分配給輸入元素的邏輯和表單提交等(請不要詢問詳細信息:)重構所有代碼以修復IE小故障可能不值得。 – ScottR 2011-04-12 00:29:56

+0

給你接受的答案 - 因爲我不認爲這是可能的標準按鈕元素。 – ScottR 2011-04-12 18:32:56

+0

漸變和轉換不起作用似乎是唯一的答案:http://stackoverflow.com/questions/3790273/webkit-support-for-gradient-transitions – 2013-02-07 08:34:02

7

嘗試使用type屬性選擇找到按鈕(也許這會解決它太):

input[type=button] 
{ 
    background-color: #E3E1B8; 
} 

input[type=button]:hover 
{ 
    background-color: #46000D 
} 
+1

這不是CSS選擇問題 - 顏色應用正確。當鼠標處於活動狀態時將鼠標移出某個按鈕時會出現一些問題 - 與

+1

嗯。我想是時候打敗計算機並大肆宣傳,因爲我不確定如何欺騙IE來做到這一點。 – Blender 2011-04-12 14:45:53

1

您需要確保圖像先放在背景圖像調用後放入逗號。那麼它確實有效:

background:url(egg.png) no-repeat 70px 2px #82d4fe; /* Old browsers */ 
background:url(egg.png) no-repeat 70px 2px, -moz-linear-gradient(top, #82d4fe 0%, #1db2ff 78%) ; /* FF3.6+ */ 
background:url(egg.png) no-repeat 70px 2px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#82d4fe), color-stop(78%,#1db2ff)); /* Chrome,Safari4+ */ 
background:url(egg.png) no-repeat 70px 2px, -webkit-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Chrome10+,Safari5.1+ */ 
background:url(egg.png) no-repeat 70px 2px, -o-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* Opera11.10+ */ 
background:url(egg.png) no-repeat 70px 2px, -ms-linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* IE10+ */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#82d4fe', endColorstr='#1db2ff',GradientType=0); /* IE6-9 */ 
background:url(egg.png) no-repeat 70px 2px, linear-gradient(top, #82d4fe 0%,#1db2ff 78%); /* W3C */