Css 如何关闭Angular 2中一个属性的视图封装?
我有以下几种风格:Css 如何关闭Angular 2中一个属性的视图封装?,css,angular,typescript,Css,Angular,Typescript,我有以下几种风格: #右#内容{ 填充:30px 40px!重要; } 我将其存储在一个文件register.css中,该文件绑定到我的register.ts 问题是位于父模块中,这意味着我不能直接从register.ts中修改其CSS属性 我的register.html和register.css进入路由器出口。我想从register.css中设置#right_内容的样式 是否有任何方法可以仅针对上述样式关闭视图封装(或调用添加\ngcontent-mxo-3属性的任何方法?更新 ::sl
#右#内容{
填充:30px 40px!重要;
}
我将其存储在一个文件register.css
中,该文件绑定到我的register.ts
问题是
位于父模块中,这意味着我不能直接从register.ts
中修改其CSS属性
我的register.html
和register.css
进入路由器出口。我想从register.css
中设置#right_内容的样式
是否有任何方法可以仅针对上述样式关闭视图封装(或调用添加\ngcontent-mxo-3
属性的任何方法?更新
::slotted
现在受到所有新浏览器的支持,并可与`ViewEncapsulation.ShadowDom一起使用
原创
支持创建穿过组件边界的选择器,即使视图封装
是模拟的
(默认值)
子组件::ng deep#right_内容{
填充:30px 40px!重要;
}
允许从任何祖先平铺
视图封装在您希望从子视图设置父视图样式或我误解了您的问题时没有帮助。你能添加更多的代码来演示你想要的样式和元素是如何被关联的吗?@GünterZöchbauer#right_content
位于父组件中,所以我现在不能在子组件中的CSS中更改样式,因为它为我的CSS添加了一个属性。这对我没有帮助。请添加更多的代码,这是最简单的方式使事情清楚。我将添加一个答案,但这只是一个粗略的猜测,因为我不完全理解这个问题。@GünterZöchbauer请检查我的更新,看看这是否更有意义。所以你实际上想从孩子身上设计一个家长。这是不受支持的。只能根据组件本身或祖先设置组件的样式,但不能根据子组件或其他后代设置祖先的样式。我能想到的唯一方法是强制性地向
添加样式。>
和/deep/
使用::ng deep
“阴影穿透后代组合器不推荐使用和工具。因此,我们计划在角度上放弃支持(对于/deep//code>,
和::ng deep
)。在此之前,::ng deep
应该是与工具更广泛的兼容性的首选。“当所有浏览器都支持本机样式封装和角度拖放视图封装时,它就消失了。模拟的
是当前默认的,因此不太可能很快消失,-)与>
和/deep/
相同,但SASS只支持::ng deep
,这就是我现在建议这样做的原因。