如何使用Angular 2 / Bootstrap 4为ng-bootstrap控件自定义CSS

时间:2016-12-28 08:03:10

标签: angular bootstrap-4 ng-bootstrap

我正在使用两个ng-bootstrap组件ngbDropdownngb-pagination,我希望它们彼此垂直对齐。

enter image description here

ngb-pagination组件使用.pagination类创建此HTML,边距为1rem

<nav>
  <ul ng-reflect-class-name="pagination pagination-sm" class="pagination pagination-sm">
  </ul>
</nav>

我试图使用以下内容改变我的Angular 2组件的类。

@Component({
    selector: 'wk-company-list',
    template: require('./list.html'),
    styles: [`
        .pagination {
            margin-top: 0;
            background-color: greenyellow;
        }
    `]
})

以下是包含这两个控件的完整HTML页面

<ag-grid-ng2 #agGrid style="width: 100%; height: 350px;" class="ag-fresh"
             [gridOptions]="gridOptions"
             rowSelection="multiple"
             (cellClicked)="onCellClicked($event)"
             (selectionChanged)="onSelectionChanged($event)">

</ag-grid-ng2>


<div class="align-middle">

    <span ngbDropdown class="d-inline-block">
        <button class="btn btn-outline-primary btn-sm" id="dropdownMenu2" ngbDropdownToggle>25</button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu2">
            <button class="dropdown-item">25</button>
            <button class="dropdown-item">50</button>
            <button class="dropdown-item">100</button>
            <button class="dropdown-item">200</button>
            <button class="dropdown-item">1000</button>
            <span class="text-muted">Total: {{vm.pagination.total}}</span>
        </div>
    </span>
    <span class="float-xs-right">
        <ngb-pagination
                style="margin-top: 0"
                (pageChange)="onPageChange($event)"
                [(page)]="vm.pagination.no"
                [pageSize]="vm.pagination.size"
                [collectionSize]="vm.pagination.total"
                size="sm"
                [maxSize]="5"
                [ellipses]="false"
                [rotate]="true"
                [boundaryLinks]="true">
        </ngb-pagination>
    </span>
</div>

2 个答案:

答案 0 :(得分:8)

您是否尝试在组件样式中使用/deep/>>>选择器?

引用角度文档:

  

组件样式通常仅适用于组件自己的模板中的HTML   我们可以使用/ deep / selector将样式向下强制通过子组件树到所有子组件视图中。 / deep / selector适用于任何深度的嵌套组件,它既适用于视图子项,也适用于组件的内容子项。

请参阅https://angular.io/docs/ts/latest/guide/component-styles.html以供参考。

答案 1 :(得分:3)

例如:

ngb-pagination /deep/ .page-item.disabled .page-link {
    background-color: greenyellow;
}