我有一个应用程序,其中样式定义为
select {
border: 1px solid #6FA7D1;
outline:0;
height:25px;
padding-left: 5px;
font-family:Arial;
font-size:12px;
transition: all 0.8s;
border-bottom-left-radius: 5px;
border-top-left-radius: 5px;
}
所以,每个<select></select>
将获得相同的样式,这是预期的,但是,我正在使用一些第三方插件,如jqGrid,我不想在实例{{1}上应用相同的样式在jqGrid寻呼机中渲染。这个<select>
有一些课程。
有没有办法告诉CSS不要在某些类上应用DOM?
请不要严格关注jqGrid中的<select>
,我有更多情况可以使用此类排除。
答案 0 :(得分:4)
您可以使用:not
选择器在某些情况下阻止应用,例如:
:not(selector) select
其中,选择器与jQGrid id
或class
否定CSS伪类
:not(X)
是一种功能符号 以简单的选择器X为参数。它匹配一个元素 没有参数表示。 X不得包含另一个 否定选择器。
这基本上表示目标选择元素不是selector
的子元素(在本例中为jQGrid)
您可以使用:not
排除匹配元素的任何子集。
:not(div) > span {
color: red;
}
<span>Make me red!</span>
<div><span>...but not me...</span>
</div>
答案 1 :(得分:2)
http://jsfiddle.net/iaezzy/1s5g5mjn/
.element:not(.exclude) {
background: green;
}
.exclude {
background:red;
}
答案 2 :(得分:2)
CSS3中的Can I write a CSS selector selecting elements NOT having a certain class?呢?
select:not(.someClass) {
/* Styles */
}
答案 3 :(得分:0)
你不能,唯一的选择是:
将<select>
样式放入类中,例如.select
,并将<select class="select">
添加到您要设置样式的所有元素。
添加一个类,例如select-jqGrid
,它会覆盖select
中的所有默认样式,并将其添加到jqGrid中的所有<select>
元素。