如何通过css排除一个特定的类?

时间:2016-01-29 09:08:01

标签: css angularjs tabs angular-ui-bootstrap

我有嵌套标签。您可以从(http://plnkr.co/edit/QbMjutwEIRfHYpgELuIz?p=preview

进行访问

我想将这个类仅应用于.verticaltab类,所以我写了这样的css:

CSS:

.nav-tabs {
    float: left;
    }
.verticaltab:not(.horizantaltab) .nav-tabs li.active>a{
    background: antiquewhite;
}

HTML:

<tabset vertical="true" type="tabs" class="vertical">
    <tab>
        <tab-heading>A</tab-heading>
        <tabset class="horizantaltab">
            <tab><tab-heading>SONY</tab-heading></tab>
            <tab><tab-heading>VESTEL</tab-heading></tab>
        </tabset>
    </tab>
    <tab>
        <tab-heading>B</tab-heading>
        <tabset class="horizantaltab">
            <tab><tab-heading>SONY</tab-heading></tab>
            <tab><tab-heading>VESTEL</tab-heading></tab>
        </tabset>
    </tab>
</tabset>

但它不起作用。请你帮助我好吗。水平制表符也适用背景色。

2 个答案:

答案 0 :(得分:0)

如果我正确理解Angular输出,就像你所知,级联适用于所有(:not(.horizantaltab)从不匹配)。尝试:

.verticaltab > .nav-tabs li.active > a {
    background: antiquewhite;
}

答案 1 :(得分:0)

I am borrowing fromthe MDN site (Mozilla Developer Network)表明:没有告诉某个属性明确地不通过另一个选择器或类申请,但是那个类不必在其他地方用属性声明,否则它对页面没有影响:

p:not(.classy) { color: red; }
body :not(p) { color: green; }
<p>Some text.</p>
<p class="classy">Some other text.</p>
<span>One more text<span>

但是你在css中声明了一个.nav-tabs而不是html,所以这个类永远不会应用。你究竟想做什么?如果您想要设置样式,请为该规则设置样式,然后使用:不要为规则创建例外。