如果元素具有某些类,是否可以在CSS中定义不应用样式?

时间:2015-01-02 12:08:36

标签: html css

我有一个应用程序,其中样式定义为

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>,我有更多情况可以使用此类排除。

4 个答案:

答案 0 :(得分:4)

您可以使用:not选择器在某些情况下阻止应用,例如:

:not(selector) select

其中,选择器与jQGrid idclass

相关
  

否定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>元素。