#css #angular #typescript #forms #angular8
Вопрос:
Компонент содержит форму, и я хочу использовать два языка, и каждый из них имеет свой собственный стиль CSS, один для направления: ltr; а другой для направления: rtl;
Как я могу условно использовать 2 файла CSSs в компоненте?
Этот компонент содержит диалоговое окно,
ngAfterViewInit() { this.dialog.open(chooseLanguageComponent); }
таким образом, пользователь может выбрать, какой язык ему нравится, если пользователь выбирает английскую форму, компонент использует стиль1.css, а если он выбирает арабский английский, компонент использует стиль2.css
Я использую angular 8 / Угловой материал / NG-ZORRO
Комментарии:
1. Учитывая то, как Angular AOT компилирует CSS в компонент, вы не можете динамически использовать разные css-файлы. Однако вы можете добавить класс языка в форму, а затем этот класс может изменить внешний вид вложенных элементов.
Ответ №1:
Почему бы вам просто не использовать для этого классы в теле.
Когда вы меняете язык, чтобы добавить, например, класс «.rtl» или «.ltr» в тело, то стилю, связанному с каждым выравниванием, должно предшествовать имя класса, что-то вроде этого.
.rtl p { text-align: right; } .ltr p { text-align: left; }