我正在使用带有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元素样式的最佳方法是什么?
答案 0 :(得分:6)
如果在Bootstrap(bootstrap.css)之后包含css(site-specific.css),则可以通过重新定义规则来覆盖规则。
例如,如果您在<head>
<link rel="stylesheet" href="css/bootstrap.css" />
<link rel="stylesheet" href="css/site-specific.css" />
您可以简单地覆盖面板(在site-specific.css文件中):
.panel {
//your code here
}
以后不要打扰模板更改。当您使用特定版本时,更新不会对您产生影响。他们正在生成一个带有新版本名称的新模板。