我如何能目标输入字段类型的“文本”使用CSS选择器?
当前回答
我想在表格行中设置文本输入字段的样式。我用下面的代码做到了:
.admin_table input[type=text]:focus {
background-color: #FEE5AC;
}
其他回答
输入[type =“text”]
这将选择网页中所有的输入类型文本。
正如@Aamir提到的,现在最好的方法——跨浏览器,抛弃IE6——是这样的:
[type=text] {}
还没有人提到CSS的低特异性(为什么这很重要?)[type=text]的输入为0,0,1,0,而不是0,0,1,1。
就性能而言,再也没有负面影响了。
Normalize v4.0.0刚刚发布,降低了选择器的特异性。
在jQuery中,你可以使用:text选择器来选择所有文本类型的输入。看这里工作的小提琴。
$(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;
}
我想在表格行中设置文本输入字段的样式。我用下面的代码做到了:
.admin_table input[type=text]:focus {
background-color: #FEE5AC;
}
我通常在我的主样式表中使用选择器,然后制作一个ie6特定的.js (jquery)文件,该文件将一个类添加到所有输入类型中。例子:
$(document).ready(function(){
$("input[type='text']").addClass('text');
)};
然后使用类在ie6特定的样式表中复制我的样式。这样,实际的标记会更简洁一些。