При использовании [hidden]
angular просто устанавливает атрибут HTML «скрытый»
Пользовательские агенты должны скрывать элементы с этим атрибутом, но предостережение заключается в том, что если элемент имеет другойявно указан стиль отображения, он получит приоритет.
Примечание. Изменение значения свойства отображения CSS для элемента со скрытым атрибутом отменяет поведение.Например, элементы в стиле display: flex будут отображаться независимо от наличия скрытого атрибута.
В следующем примере показано, как div
не скрывается даже при добавлении атрибута hidden
.
div {
display: block
}
<p hidden> Paragraph - Hide Me</p>
<div hidden> Div - Hide Me</div>
Мы обеспокоены тем, что нам может понадобиться изменить код в другом месте приложения, которое использует [hidden]
Есливы хотите использовать атрибут hidden
вместо класса, вы можете просто добавить стиль для атрибута hidden
в свой css:
[hidden] {
display: none !important;
}
div.show {
display: block
}
<div class="show" hidden> Div - Hide Me</div>
Идея состоит в том, чтобы пойти с одной стратегией, а не смешивать [hidden]
и [class.hide]
[class.hide]
будет простодобавьте / удалите класс hide
для элемента, и вы должны добавить правило стиля для hide
в свой CSS.Здесь вышеупомянутого предостережения нет.
.hide {
display: none;
}
<p class="hide">Hide Me</p>