因此,我有一個DIV完整的四個HTML按鈕,使用圖像而不是任何文本。使用CSS,我將其設置爲使img
與其父親button
的寬度相同。在四個按鈕中的三個按鈕上,它們將始終攜帶cursor: pointer
屬性,因爲它們始終是可點擊的。然而,第四個按鈕偶爾會處於禁用狀態,所以我必須切換cursor: pointer
和cursor: default
之間的CSS。Firefox CSS按鈕圖像光標
正如我的代碼所示,這可以在Chrome和IE 7/8/9(6不支持我的受衆)中正常運行,但是Firefox不會將其中任何一個的默認值更改爲cursor
,無論其中之一按鈕被禁用。請注意,雖然這適用於將cursor
屬性應用於父BUTTON元素,但我更願意使用CSS來更改光標,而不是使用任何客戶端Javascript。由於這在我測試的三種現代瀏覽器中的兩種(包括IE7,請注意你!)中起作用,我認爲它在FF中也應該是可能的。
這裏的HTML標記,我有:
<button id="btn1" class="my-button"><img src="/path/to/my-img1.gif" alt="Img1" /></button>
<button id="btn2" class="my-button"><img src="/path/to/my-img2.gif" alt="Img2" /></button>
<button id="btn3" class="my-button"><img src="/path/to/my-img3.gif" alt="Img3" /></button>
<button id="btn4" class="my-button"><img src="/path/to/my-img4.gif" alt="Img4" /></button>
這裏是我已經指定了這個標記CSS類,還有:
<style>
.my-button {
display: block;
float: left;
margin: 0px;
padding: 0px;
vertical-align: top;
border: none;
background: none;
}
.my-button img {
cursor: pointer;
}
.my-button img .disabled {
cursor: default;
}
</style>
並與任何的任何人討厭的好奇心,所有的點擊事件和動作都是使用jQuery處理的,具體取決於我需要的任何業務邏輯以及周圍的頁面。
如果有更多的信息可以提供,請告訴我。我覺得我在這裏遇到了Firefox的絆腳石。
編輯:作爲參考,我使用Firefox 4.0與Firebug安裝。無論我是否擁有該選項卡上的Firebug,這一行爲都是相同的。 Chrome是最新版本,目前版本爲10.0.648.204。
編輯2:正如我在下面的意見已經表示,我還沒有想出了一個解決這個問題,但在使用@ WDM的回答作爲一個臨時的解決方案解決 - 這樣的Firefox得到cursor: pointer
集對於所有按鈕,無論狀態如何,Chrome和IE都將遵循我爲每個button
標記中嵌入的img
提出的CSS。如果我知道我的代碼中發生了什麼,或者如果有人找到適合Firefox的解決方案,我會在那裏提出答案。再次感謝您的建議!
我已經嘗試過這一點,雖然它可能是我的臨時解決方案(無論Firefox中的狀態如何,都會顯示所有按鈕的「光標:指針」,但在Chrome和IE中可以正常工作),這實際上是將光標樣式應用於父BUTTON元素。如果可能的話,我想嘗試將其應用於兒童,但Firefox可能會阻止這種情況發生。 – Mattygabe 2011-04-14 19:15:20
我會選擇這個作爲正確的答案,因爲它非常接近,但不幸的是它並沒有在Firefox 4中「修復」我的問題 - 只是在可接受的行爲中存在殘段,直到我能夠找出這裏發生的事情 - 無論是Firefox的錯誤或干擾我自己的CSS。我會爲任何人提供這個問題的「正確」解決方案的功勞,或者如果我在我的代碼中發現錯誤,我會更新它。 – Mattygabe 2011-04-14 19:31:13
應該說早些時候是FF4。它現在非常錯誤,我無法忍受使用它。 – wdm 2011-04-14 19:46:34