文本input字段的CSSselect器?
我如何使用CSSselect器来定位“文本”types的input字段?
input[type=text]
或者,限制在表单内的文本input
form input[type=text]
或者,进一步限制到某种forms,假设它有id myForm
#myForm input[type=text]
注意:这不是IE6支持的,所以如果你想为IE6开发,可以使用IE7.js(如Yi Jiangbuild议的),或者开始为所有文本input添加类。
参考: http : //www.w3.org/TR/CSS2/selector.html#attribute-selectors
由于指定默认属性值可能不总是可以通过属性select器select,所以可以尝试覆盖其他呈现文本input的标记的情况:
input:not([type]), // type attribute not present in markup input[type=""], // type attribute present, but empty input[type=text] // type is explicitly defined as 'text'
当这个types被定义的时候,仍然是这种情况,但是它有一个无效的值,并且仍然返回到type =“text”。 为了说明这一点,我们可以select所有不属于其他已知types的input
input:not([type=button]):not([type=password]):not([type=submit])...
但是这个select器是相当荒谬的,而且可能的types列表正在增加新的function,正在增加到HTML。
注意: :not
伪类只支持从IE9开始。
你可以在这里使用属性select器:
input[type="text"] { font-family: Arial, sans-serif; }
这在IE7及以上版本中得到支持。 如果您需要支持IE6,则可以使用IE7.js添加对此的支持。
有关更多信息,请参阅http://reference.sitepoint.com/css/attributeselector
我通常在我的主样式表中使用select器,然后制作一个ie6特定的.js(jquery)文件,它为所有inputtypes添加一个类。 例:
$(document).ready(function(){ $("input[type='text']").addClass('text'); )};
然后使用这些类在ie6特定的样式表中复制我的样式。 这样,实际的标记是一点点清洁。
您可以使用:text
select器来select所有带有文本types的input
工作小提琴
$(document).ready(function () { $(":text").css({ //or $("input:text") 'background': 'green', 'color':'#fff' }); });
:text
是一个jQuery扩展,而不是CSS规范的一部分,使用text的查询不能利用本地DOM querySelectorAll()方法提供的性能提升。 为了在现代浏览器中获得更好的性能,请使用[type="text"]
。 这将适用于IE6+
。
$("[type=text]").css({ // or $("input[type=text]") 'background': 'green', 'color':'#fff' });
CSS
[type=text] // or input[type=text] { background: green; }
我有一个表格行字段中的inputtypes的文本字段。 我用代码来定位它
.admin_table input[type=text]:focus { background-color: #FEE5AC; }
就像@Amir在上面贴出的那样,现在最好的方式就是使用跨浏览器和离开IE6
[type=text] {}
到目前为止,没有人提到CSS特性较低( 为什么 这 很重要 ?), [type=text]
具有input[type=text]
0,0,1,0而不是0,0,1,1。
性能方面不会有任何负面影响。
正常化v4.0.0刚刚发布与降低select特异性 。
使用属性select器,我们在CSS中定位inputtypes文本
input[type=text] { background:gold; font-size:15px; }