我想规范化页面中的某些元素,例如在提交按钮上放置一些边距/填充。如何仅将属性应用于提交按钮
尝试与input.submit {margin:0; padding:1px 6px 1px 6px;}
,但似乎它不起作用。我如何使用CSS 2.1来做到这一点?
我想规范化页面中的某些元素,例如在提交按钮上放置一些边距/填充。如何仅将属性应用于提交按钮
尝试与input.submit {margin:0; padding:1px 6px 1px 6px;}
,但似乎它不起作用。我如何使用CSS 2.1来做到这一点?
最可靠的CSS 2.1我认为你可以选择将class
或id
应用于按钮,或隔离特定父元素内部的按钮。
否则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。
在CSS3兼容的浏览器可以使用:
input[type="submit"] {margin:0; padding:1px 6px 1px 6px;}
如果您不能使用CSS3,你将不得不设置在提交输入一个类:
<input type="submit" class="submit" value="Submit form" />
是。 input[type="submit"]
是一个有效的CSS 2.1选择器。
好吧,我认为这是CSS3。猜猜我一直工作太久,试图让浏览器看起来很漂亮,甚至完全不支持CSS2。 – Arjan 2011-05-29 21:54:42
并非所有的浏览器都完全实现了CSS 2.1。你需要支持他们吗? – Wylie 2011-05-29 21:48:23