【问题标题】:Set background color accordion heading设置背景颜色手风琴标题
【发布时间】:2017-10-23 22:36:52
【问题描述】:

我想根据列表中当前项目的状态更改手风琴的颜色。

我想使用ng-class="{status: item.status}" 之类的东西(我有testClass: true

现在的问题是我无法设置整个手风琴标题的颜色。

<accordion>
    <accordion-group ng-repeat="item in items" class="animate-repeat" is-open="status.open">
        <accordion-heading>
            <div ng-class="{testClass: true}">
                <p>Test</p>
            </div>
        </accordion-heading>
        <div class="row">
            <div class="col-sm-12 col-xs-12">
                <div class="text-content font-size-14">{{item.text}}</div>
                </div>
            </div>
        </div>
    </accordion-group>
</accordion>

CSS

.testClass {
background-color: burlywood;
}

知道如何解决这个问题吗?

我在这里发现了类似的问题,但解决方案对我不起作用 https://github.com/angular-ui/bootstrap/issues/3038

小提琴: http://jsfiddle.net/f8ce1b0w/2/

【问题讨论】:

  • 您是否尝试在手风琴标题级别设置 ng-class="{testClass: true}"
  • @Mudassar 是的,我尝试将它设置在手风琴组上,但没有奏效。而且我不能在上面添加它,因为迭代是在手风琴组中
  • 我指的是
  • @Mudassar 我的错误。但这也行不通。
  • 如何获取父级的大小?这确实是个问题

标签: css angularjs angular-ui-bootstrap


【解决方案1】:

将类应用于“手风琴组”,然后使用 css 设置样式。

HTML

<accordion-group ng-controller='MyAccordionGroupController' class="test" is-open="isopen">

CSS

.panel {
  &.test {
    & > .panel-heading {
      background-color: red;
    }
  } 
}

http://jsfiddle.net/BramG/f8ce1b0w/8/

【讨论】:

    【解决方案2】:

    您需要在层次结构中将应用的类移到更高的位置:

    http://jsfiddle.net/f8ce1b0w/7/

    那么你的 css 将如下所示:

    .panel-warning .panel-heading {
      //customize your css here
    }
    

    问题是您将测试项目放置在带有填充的项目中。相反,将 test-item-class 放在更高的位置,然后使用 css 来定位项目。

    如果您的状态将与 Bootstrap 状态匹配,那么您可能需要此处的验证类名称:https://getbootstrap.com/docs/4.0/migration/#panels (面板成功,面板信息,面板警告,面板危险)

    这些类名已经在你的 Bootstrap css 中了。

    【讨论】:

      【解决方案3】:

      这就是你的问题的解决方案

      .test{
        background-color: red;
      }
      
       .test-parent.panel-default > .panel-heading {
          background-color:red;
      }
      
      <accordion-group ng-controller='MyAccordionGroupController' is-open="isopen" class="test-parent">
              <accordion-heading>
               <div class="test">
                I can have markup, too!
                </div>
              </accordion-heading>
              This is just some content to illustrate fancy headings.
            </accordion-group>
      

      【讨论】:

      • 是的,这会改变颜色。但是我如何使用它和 ng-class 来设置不同的颜色呢?
      • 相应地进行了更改,您需要重复手风琴而不是手风琴组
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      相关资源
      最近更新 更多