2009-09-16 47 views
14

在另一個問題中,我詢問了這個問題是否給我回答了有關Firefox作爲twit的問題。它的工作,但它留在我口中酸味,我會解釋爲什麼。-moz-focus-inner

button::-moz-focus-inner { 
    border: 0; 
    padding: 0; 
} 

歌劇(10對於該示例),火狐(3在這個例子中)和Internet Explorer(7這個例子)所有不同地顯示一個input[type="submit"]按鈕。此focus-inner屬性在Opera 10上爲默認值0,對於Firefox爲5px,對於Internet Explorer必須爲6px。

我該如何「一攬子」將它們都重置爲0?是否有一個標準的CSS調用,不僅會執行上述操作,而且會爲IE設置此隱藏屬性?

+3

我懷疑MSIE和Opera知道如何渲染-moz-something屬性:) – n1313 2009-09-16 14:46:06

+0

n1313,這不是真正的問題。問題是提交按鈕被所有瀏覽器使用。他們似乎都在內部設置這個值,我想知道1)爲什麼!?!?!?!? 2)一個簡單的方法來一舉改變它們。 – Dorjan 2009-09-16 14:50:25

+0

2014年,這件事情仍然發生... 不僅如此,但它並沒有真正幫助你,如果按鈕上有一個高度定義... – 2014-04-11 12:10:39

回答

7

發生這種情況的原因很簡單:因爲所有這些瀏覽器都是由不同的人創建的。例如,嘗試從Safari瀏覽您的按鈕。沒有一個CSS規則可以強制所有主流瀏覽器中的所有按鈕看起來都一樣。

嗯,實際上你可以達到像素完美,如果你對待他們每一個人,就像this。而且你總是可以使用<input type="image">,那肯定會做到這一點。

+0

type = image會阻止沒有javascript的表單的提交操作對不對? – Dorjan 2009-09-16 15:12:40

+1

也是,我知道它們是由不同的人制作的,但他們肯定可以打開設計(就像firefox試圖這樣做),以便其他人可以「修復」它的方式? – Dorjan 2009-09-16 15:14:26

+4

不,type = image與type = submit等效。您可以點擊它,表格將被提交。 – n1313 2009-09-16 17:02:28