【问题标题】:How to change the style properties of uib-accordion-heading如何更改 uib-accordion-heading 的样式属性
【发布时间】:2017-09-25 02:40:39
【问题描述】:

问题的解决方案已经存在/我有。但是,如果我将资源文件版本(内部 head 标签)从 ui-bootstrap-tpls-2.5.0.js 更改为 ui-bootstrap-tpls-1.2.1.js,它不能正常工作....由于我在 ui-bootstrap-tpls-1.2.1.js 中完成了 90% 的工作,因此无法包含 ui-bootstrap -tpls-2.5.0.js 对我来说(如果我更改这些,其他功能将无法正常工作)。

1.Plunker demo which contains ui-bootstrap-tpls-2.5.0.js

2.Plunker demo which contains ui-bootstrap-tpls-1.2.1.js

总的来说,我需要使用 ui-bootstrap-tpls-1.2.1.js 更改 _uib-accordion-heading__ 的颜色/背景色,谁能帮帮我......

HTML

<div ng-controller="AccordionDemoCtrl">
    <script type="text/ng-template" id="group-template.html">
        <div class="panel-heading" style="background-color:blue;">
            <h4 class="panel-title" style="color:red;">
                <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading">
                    <span uib-accordion-header ng-class="{'text-muted': isDisabled}">
                        {{heading}}
                    </span>
                </a>
            </h4>
        </div>
        <div class="panel-collapse collapse" uib-collapse="!isOpen">
            <div class="panel-body" style="text-align: right" ng-transclude></div>
        </div>
    </script>
    <uib-accordion close-others="oneAtATime">
        <div uib-accordion-group class="panel-default" heading="Static Header, initially expanded" is-open="status.isFirstOpen" is-disabled="status.isFirstDisabled">
            This content is straight in the template.
        </div>
        <div uib-accordion-group class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
            {{group.content}}
        </div>
        <div uib-accordion-group class="panel-default" heading="Dynamic Body Content">
            <p>The body of the uib-accordion group grows to fit the contents</p>
            <button type="button" class="btn btn-default btn-sm" ng-click="addItem()">Add Item</button>
            <div ng-repeat="item in items">{{item}}</div>
        </div>
        <div uib-accordion-group class="panel-info" heading="Custom template" template-url="group-template.html">
            Hello
        </div>
        <div uib-accordion-group class="panel-default" is-open="status.isCustomHeaderOpen" template-url="group-template.html">
            <uib-accordion-heading>
                Custom template with custom header template <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.isCustomHeaderOpen, 'glyphicon-chevron-right': !status.isCustomHeaderOpen}"></i>
            </uib-accordion-heading>
            World
        </div>
    </uib-accordion>
</div>

【问题讨论】:

  • 你不能使用 CSS 规则,比如span[uib-accordion-header] { ... }
  • 是的..它有效,非常感谢....

标签: angularjs css angular-ui-bootstrap accordion


【解决方案1】:

你可以用这个css规则覆盖javascript文件生成的样式来解决问题。

.panel-default > .panel-heading {
  color: #f00 !important;
  background-color: #00f !important;
}

【讨论】:

  • 如果可能,尽量不要使用!important
  • 是的..谢谢你的建议。但是如果你想覆盖 JS 生成的样式,那么只有你可以使用 !important。
【解决方案2】:

HTML

<div ng-controller="AccordionDemoCtrl">
<script type="text/ng-template" id="group-template.html">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading">
                <span uib-accordion-header ng-class="{'text-muted': isDisabled}">
                    {{heading}}
                </span>
            </a>
        </h4>
    </div>
    <div class="panel-collapse collapse" uib-collapse="!isOpen">
        <div class="panel-body" style="text-align: right" ng-transclude></div>
    </div>
</script>
<uib-accordion close-others="oneAtATime">
    <div uib-accordion-group class="panel-default" heading="Static Header, initially expanded" is-open="status.isFirstOpen" is-disabled="status.isFirstDisabled">
        This content is straight in the template.
    </div>
    <div uib-accordion-group class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
        {{group.content}}
    </div>
    <div uib-accordion-group class="panel-default" heading="Dynamic Body Content">
        <p>The body of the uib-accordion group grows to fit the contents</p>
        <button type="button" class="btn btn-default btn-sm" ng-click="addItem()">Add Item</button>
        <div ng-repeat="item in items">{{item}}</div>
    </div>
    <div uib-accordion-group class="panel-info" heading="Custom template" template-url="group-template.html">
        Hello
    </div>
    <div uib-accordion-group class="panel-default" is-open="status.isCustomHeaderOpen" template-url="group-template.html">
        <uib-accordion-heading>
            Custom template with custom header template <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.isCustomHeaderOpen, 'glyphicon-chevron-right': !status.isCustomHeaderOpen}"></i>
        </uib-accordion-heading>
        World
    </div>
</uib-accordion>

CSS

.panel-info .panel-heading { background: blue; color: red; }

如果您想应用自定义样式作为默认样式,请使用以下 css

.panel-default .panel-heading { /* Css Properties */ }

【讨论】:

    猜你喜欢
    • 2017-07-14
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多