2011-05-29 75 views
0

我想規範化頁面中的某些元素,例如在提交按鈕上放置一些邊距/填充。如何僅將屬性應用於提交按鈕

嘗試與input.submit {margin:0; padding:1px 6px 1px 6px;},但似乎它不起作用。我如何使用CSS 2.1來做到這一點?

+0

並非所有的瀏覽器都完全實現了CSS 2.1。你需要支持他們嗎? – Wylie 2011-05-29 21:48:23

回答

2

最可靠的CSS 2.1我認爲你可以選擇將classid應用於按鈕,或隔離特定父元素內部的按鈕。

否則CSS 2.1 確實支持attribute=value選擇符號,所以:

input[type=submit], 
/* or */ 
button[type=submit] 

應該工作。但是,這在Internet Explorer中可靠地變得可靠(但令我驚訝的是),根據PPK, of Quirksmode,在IE> = 7中可用。

編輯進一步探索的問題:

input.submit {margin:0; padding:1px 6px 1px 6px;}「不工作」的原因是因爲選擇,input.submit會選擇input元素與submit一個類名。除非你提交了提交按鈕的類名,你的html中沒有匹配的元素。

使用jQuery可以將提交元素與選擇器$('input:submit')相匹配,但這不是有效的CSS選擇器(就目前我所知); CSS可以提供​​的最近的東西,如上所述,input[type=submit]


進一步的參考文獻:CSS2 [attr] selector, at Quirksmode.org

1

在CSS3兼容的瀏覽器可以使用:

input[type="submit"] {margin:0; padding:1px 6px 1px 6px;} 

如果您不能使用CSS3,你將不得不設置在提交輸入一個類:

<input type="submit" class="submit" value="Submit form" /> 
+0

:O我說CSS 2.1 .... – markzzz 2011-05-29 21:44:34

+0

請參閱我的答案的補充。 – Arjan 2011-05-29 21:47:12

+0

'input [type = submit]'[**在CSS2下有效**](http://www.w3.org/TR/CSS2/selector.html#matching-attrs)。 – 2011-05-29 21:49:28

1

是。 input[type="submit"]是一個有效的CSS 2.1選擇器。

來源:W3C CSS Selectors

+0

好吧,我認爲這是CSS3。猜猜我一直工作太久,試圖讓瀏覽器看起來很漂亮,甚至完全不支持CSS2。 – Arjan 2011-05-29 21:54:42