В Angular с установленным Материалом Я пытаюсь переопределить Типографию Материала, чтобы включить 2 разных шрифта.
- Я хочу 'Roboto' для всего тела / кнопки / текст заголовка,
- и 'Roboto-Condensed' для всего заголовка / заголовка / отображаемого текста.
Как лучше всего это сделать?
Вот что я сделал в своих файлах S CSS до сих пор:
($ title-font = Roboto-Condensed, $ primary-font = Roboto)
// https://material.angular.io/guide/typography
@import '~@angular/material/theming';
// Define a custom typography config that overrides the font-family as well as the other `headlines` and `body-1` levels.
$custom-heading-typography: mat-typography-config(
$font-family: $title-font,
$display-4: mat-typography-level($d4, $disp-line-ht, $light),
$display-3: mat-typography-level($d3, $disp-line-ht, $regular),
$display-2: mat-typography-level($d2, $title-line-ht, $regular),
$display-1: mat-typography-level($d1, $title-line-ht, $regular),
$headline: mat-typography-level($h1, $title-line-ht, $bold),
$title: mat-typography-level($h2, $title-line-ht, $regular),
$subheading-2: mat-typography-level($h3, $title-line-ht $regular),
$subheading-1: mat-typography-level($h4, $title-line-ht, $light),
);
$custom-body-typography: mat-typography-config(
$font-family: $primary-font,
$body-1: mat-typography-level($primary-fs, $primary-line-ht, $regular),
$body-2: mat-typography-level($primary-fs, $primary-line-ht, $medium),
$caption: mat-typography-level($font-sm, $caption-line-ht, $regular),
$button: mat-typography-level($primary-fs, $disp-line-ht, $medium),
$input: mat-typography-level(inherit, $input-line-ht, $regular),
);
Я также хочу изменить различные стили шрифтов, например font -size, line-height, weight и т. д. c ..., поэтому я не просто сосредоточился на установке семейства шрифтов для каждого класса текста.
Это не работает (передача 2 конфигураций):
// Override the typography in the core CSS.
@include mat-core($custom-heading-typography, $custom-body-typography);
Я создал 2 разных конфигурации типографики, одну для текста заголовка и один для основного текста . они оба работают сами по себе, если я передаю их в mat-core, но я пытаюсь передать оба в mat-core одновременно - возможно ли это переопределение типографики с двумя разными семействами шрифтов, или должно Я go об этом иначе?
Даже с одним шрифтом возникают проблемы:
Когда я включаю только одну из конфигов в миксин mat-core, он изменяет ВСЕ текстовые элементы на семейство шрифтов (конфигурация заголовка с результатом в абзацах, кнопках и элементах списка становится «Roboto-Condensed»).
Я также попытался включить одну из двух конфигураций в эти директивы в соответствии с материалами. Angular типографские документы, но поведение непредсказуемо и может также привести к тому, что все элементы будут иметь одинаковое семейство шрифтов.
Пробовал это:
// Override typography CSS classes (e.g., mat-h1, mat-display-1, mat-typography, etc.).
@include mat-base-typography($custom-heading-typography);
Также пробовал:
// Override typography for all Angular Material, including mat-base-typography and all components.
@include angular-material-typography($custom-heading-typography);