AngularJS bootstrap ui - 如何更改css样式?

时间:2014-07-16 05:44:24

标签: css angularjs twitter-bootstrap angular-bootstrap

我正在使用带有AngularJS指令的bootstrap UI,我想更改默认样式bootstrap适用于其元素。

我应该从模板中定位HTML内容吗?

根据文档中给出的示例,我想使用accordion

当我在HTML中定义它时,它具有以下结构:

<accordion>
    <accordion-group heading="my heading">
      content here
    </accordion-group>

但是当指令处理模板时,它会将其转换为以下HTML:

<accordion close-others="oneAtATime"><div class="panel-group" ng-transclude="">
    <div class="panel panel-default ng-isolate-scope" heading="my heading">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading">
                    <span ng-class="{'text-muted': isDisabled}" class="ng-binding">content here</span>
                </a>
            </h4>
        </div>
        <div class="panel-collapse collapse" collapse="!isOpen" style="height: 0px;">
        <div class="panel-body" ng-transclude=""><span class="ng-scope">some content here</span></div>
    </div>

正如您所看到的,它会非常显着地改变它。如果我想更改面板标题的显示方式,我应该在我的css文件中写这个吗?

div.panel {}

并希望模板将来不会改变?

更改指令模板生成的HTML元素样式的最佳方法是什么?

1 个答案:

答案 0 :(得分:6)

如果在Bootstrap(bootstrap.css)之后包含css(site-specific.css),则可以通过重新定义规则来覆盖规则。

例如,如果您在<head>

中包含CSS
<link rel="stylesheet" href="css/bootstrap.css" />
<link rel="stylesheet" href="css/site-specific.css" />

您可以简单地覆盖面板(在site-specific.css文件中):

.panel {
    //your code here
}

以后不要打扰模板更改。当您使用特定版本时,更新不会对您产生影响。他们正在生成一个带有新版本名称的新模板。