如何在不同的类中使用css属性?

时间:2016-01-06 16:26:02

标签: html css

我根据不同的动作有不同的css类。一切都运行良好,但是当我根据条件应用activeBackground类时,它会使div background-color变为绿色,但border-left-color不会变为绿色,它仍然使用.arrow-div类。如何解决此问题并在需要时应用.activebackground课程?

HTML

<div class="text-arrow" ng-class="{'activeBackground': applyActiveFile, 'completeBackground':applyComplete}">File Selection
  <span class="arrow-div"></span>
</div>

CSS

.text-arrow {
    background-color:#BABABA;
    color:#fff;
    display:inline-block;
    padding-left:45px;
}
.arrow-div {
    border-style: dashed;
    border-color: transparent;
    border-width: 0.15em;
    display: -moz-inline-box;
    display: inline-block;    /* Use font-size to control the size of the arrow. */
    font-size: 100px;
    height: 0;
    line-height: 0;
    position: relative;
    vertical-align: middle;
    width: 0;
    background-color:#fff;   /* change background color acc to bg color */ 
    border-left-width: 0.2em;
    border-left-style: solid;
    border-left-color: #BABABA;
    left:0.25em;
}
.activeBackground{
     background-color: green;
     border-left-color: green !important;
}

1 个答案:

答案 0 :(得分:4)

在我看来,您已将.arrow-div.activeBackground应用于不同的元素,以及编写代码的方式,.activeBackground无法覆盖{{ 1}}因为它被应用于不同的元素(父元素)。要影响子元素(包含箭头的范围),您需要设置一个直接针对.arrow-div的任何子.arrow-div的css规则。

我的解决方案是简单地修改你的css,提供一种方法来改变箭头div:

.activeBackground

这里有一个小提琴: https://jsfiddle.net/cupno5g9/