ng-zorro-antd/table/style/size
, который вы импортируете, сам импортирует ../../style/themes/index
, а переменные, которые вы пытаетесь переопределить, определены в последнем. Это означает, что новые определения переменных, которые вы сделали, игнорируются, потому что они пришли после их использования в классах.
Здесь у вас не так много вариантов.
* Вариант 1: Вы дублируете меньше файлов библиотеки и помещаете новые значения, которые вы хотите, в эти дублированные файлы. Проблема в том, что вы не сможете воспользоваться преимуществами эволюции библиотеки автоматически.
- Вариант 2: вы сохраняете свой код таким, какой он есть, и в своем меньшем файле вы переопределяете только те классы, которые вас интересуют (например, используя :: ng-deep). Как пример, это будет выглядеть так:
@import 'ng-zorro-antd/table/style/index';
@import 'ng-zorro-antd/table/style/size';
@table-border-radius-base: 0;
@table-header-bg: black;
::ng-deep table {
border-radius: @table-border-radius-base @table-border-radius-base 0 0; // the property will be overriden by the variables you have defined
}
...
Относительно ::ng-deep
: в документации сказано, что она устарела, даже если она все еще широко используется. Чтобы избежать этой проблемы, если у вас есть общий файл стилей, который не связан только с конкретным компонентом, вы можете поместить стили, которые вы хотите переопределить, в этот файл без ::ng-deep
.