Angular2-Material Изменить стиль ввода MD на ошибки

Я бы, в случае ошибки в моей форме, изменил метку своего ввода, а также цвет текста и цвет рамки ниже, так же, как с dividerColor, но без фокуса, я бы хотел, чтобы это сохранялось.

Поэтому я сделал этот код для метки:

md-input:not(.ng-valid) label { background-color: red !important; color:red !important; }

Однако, когда я запускаю проект, мой CSS изменяется следующим образом:

md-input[_ngcontent-fcu-13]:not(.ng-valid) label[_ngcontent-fcu-13] { background-color: red !important; color:red !important; } 

И, следовательно, это не работает. У тебя есть идея? (Переведено гугл переводом)

1 ответ

Вы пытаетесь использовать эти стили вне дерева компонентов, в котором вы их описываете? Такие атрибуты, как _ngcontent-fcu-13 angular, добавляют к элементам и стилям DOM для реализации View Encapsulation. Поэтому, если вы импортируете стили как часть метаданных компонента angular, вы добавите такие атрибуты ко всем стилям.

Вы должны переместить глобальные стили в app.component или внедрить их непосредственно в index.html.

Также вы можете отключить просмотр инкапсуляции, добавив

encapsulation: ViewEncapsulation.None

в метаданные компонента

Посмотрите на эту статью. Это мне очень помогает.

Другие вопросы по тегам