bsr*_*bsr 22 css sass css-selectors
我有一些输入类型有这个scss设置(来自框架)
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
...
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
{
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
}
Run Code Online (Sandbox Code Playgroud)
我喜欢覆盖/重置所有类似的东西
textarea,
input[type="*"],
{
@include box-shadow(none);
}
Run Code Online (Sandbox Code Playgroud)
以上不起作用,也
textarea,
input,
{
@include box-shadow(none);
}
Run Code Online (Sandbox Code Playgroud)
不够具体.有没有办法做到这一点,而不是列出所有可能的类型.
谢谢.
Lou*_*cci 43
有很多可能的输入类型.如果你想要textareas和任何具有type属性的输入,那么......
textarea,
input[type] {
...
}
Run Code Online (Sandbox Code Playgroud)
如果要排除某些输入类型,请使用:not选择器.
编辑示例JSFIDDLE http://jsfiddle.net/Pnbb8/
textarea,
input[type]:not([type=search]):not([type=url]):not([type=hidden]) {
}
Run Code Online (Sandbox Code Playgroud)
但就像我说的那样,你想要的类型可能比你想要的类型要多得多,所以你无法真正避开这个列表.
您总是可以使用CSS类.
.box-shadowed
{
@include box-shadow(none);
}
Run Code Online (Sandbox Code Playgroud)
这样就足够了吗?
input[type="text"] {
border: 1px red;
}
input[type] {
border: 1px solid blue; }
}
Run Code Online (Sandbox Code Playgroud)
它们都具有相同的特异性,因此最后一个覆盖。
参见jsFiddle:http : //jsfiddle.net/TheNix/T2BbG/
另一个解决方案是忽略第一个选择器中的元素。后者具有更高的特异性-但是,您应该知道,就性能而言,第一个类似于使用通用选择器(因为它尝试匹配DOM中的所有元素以检查属性)。
[type="text"] {
border: 1px red;
}
input[type="text"] {
border: 1px solid blue; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60831 次 |
| 最近记录: |