ng-zorro默认样式的设置

本文介绍在项目中修改ng-zorro组件默认样式的多种方法,包括使用::ng-deep, :host::ng-deep等选择器,以及注意事项,如类名间空格的影响。

以nz-tree为例
在项目中修改ng-zorro组件默认样式的一些方法:

类名等 前加::ng-deep;//会全局修改该组件的样式,也就是会把别人的样式给修改了
类名等 前加:root;//试过后没有效果
类名等 前加:host /deep/;//不会全局修改
类名等 前加:host ::ng-deep;//这样组合也可以,不会全局修改

四种方式都可以尝试一下,看看哪种有效果,我都尝试了一遍

类名:可以按F12进入开发者模式中获得,如图所示,尽量拷贝,不容易出错,有些点(.)号之间有空格,有些没有空格,多打空格导致你设置的样式会没有效果。

在这里插入图片描述

/* 设置选中项高量显示的样式 */
/*.ant-tree-node-content-wrapper.ant-tree-node-selected中的点(.)之间无空格,之前我在设置的时候加了个空格,导致设置的样式一直没有效果*/
:host ::ng-deep .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected{
     background-color:red;
}

/* 设置nz-tree的字体、颜色、高度*/
::ng-deep .ant-tree li .ant-tree-node-content-wrapper{
    font-size: 16px;
    font-family: ArialMT;
    color: #2b2c2d;
    height: 30px;
    
}
Angular 中使用 NG-ZORRO 的 `nz-table` 组件时,可以通过自定义 CSS 样式来调整表格的边框样式NG-ZORRO 提供了默认样式,但有时需要根据设计需求进行定制。 ### 自定义表格边框样式 #### 1. 使用全局样式 可以在全局样式文件 `styles.css` 或 `styles.scss` 中定义样式,影响所有表格组件。 ```css /* styles.css */ .ant-table { border: 2px solid #ff0000; /* 自定义边框颜色和宽度 */ } .ant-table table { border-collapse: separate; /* 可以设置为 collapse 或 separate */ border-spacing: 0; /* 当 border-collapse 为 separate 时,设置边框间距 */ } .ant-table table td, .ant-table table th { border: 1px solid #00ff00; /* 自定义单元格边框 */ } ``` #### 2. 使用组件样式 如果只想对某个组件的表格进行样式调整,可以在组件的样式文件中定义。 ```css /* menus.component.css */ .my-custom-table .ant-table { border: 2px solid #0000ff; /* 自定义边框颜色和宽度 */ } .my-custom-table .ant-table table { border-collapse: collapse; /* 设置为 collapse 或 separate */ } .my-custom-table .ant-table table td, .my-custom-table .ant-table table th { border: 1px solid #ffff00; /* 自定义单元格边框 */ } ``` 在组件的模板文件中使用自定义类名: ```html <!-- menus.component.html --> <nz-table class="my-custom-table" [nzData]="data"> <thead> <tr> <th>列1</th> <th>列2</th> </tr> </thead> <tbody> <tr *ngFor="let item of data"> <td>{{ item.column1 }}</td> <td>{{ item.column2 }}</td> </tr> </tbody> </nz-table> ``` #### 3. 使用 `::ng-deep` 或 `ViewEncapsulation` 由于 Angular 的视图封装机制,默认情况下组件样式不会影响子组件。可以使用 `::ng-deep` 或者修改 `ViewEncapsulation` 来覆盖子组件样式。 ```css /* 使用 ::ng-deep */ ::ng-deep .my-custom-table .ant-table table td, ::ng-deep .my-custom-table .ant-table table th { border: 1px solid #ff00ff; /* 自定义单元格边框 */ } ``` 或者在组件中禁用视图封装: ```typescript // menus.component.ts import { Component, ViewEncapsulation } from '@angular/core'; @Component({ selector: 'app-menus', templateUrl: './menus.component.html', styleUrls: ['./menus.component.css'], encapsulation: ViewEncapsulation.None // 禁用视图封装 }) export class MenusComponent { data = [ { column1: '数据1', column2: '数据2' }, { column1: '数据3', column2: '数据4' } ]; } ``` ### 总结 通过上述方法,可以根据需求灵活地设置 NG-ZORRO 表格的边框样式。无论是全局样式还是局部样式,都可以通过 CSS 来实现自定义效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值