我目前正在为我的 Angular 组件创建自定义表单组件,并遇到了一些样式问题。
我希望我的输入能够采用可变宽度,并且它们由主机组件控制。
例如:<my-input class="input">
将有一个相应的类,如下所示:
.input {
width: 250px;
}
出于某种原因,如果我这样做,规则将被忽略并且不会应用于我的组件。
我见过其他人将他们的组件包装在看似不必要的div 中,然后设置这些父div 的样式,以便里面的内容适合。当 CSS 规则就足够时,我不想仅仅出于样式目的编写包装器。
这样做会涉及使用:host
吗?另外,怎么样,host-context(.input)
然后应用消费者CSS
内部的类?
我建议不要使用::ng-deep since
Angular团队计划弃用它。
如果你想从托管你的组件的任何组件中设置组件中的样式,我建议你创建一个主机绑定/输入,然后使用该值通过 style-指令绑定到你的组件。