我正在使用阴影穿孔css作为我的一种风格.但我在scss中有颜色代码,我想在风格中使用.是否可以让阴影穿过scss文件?
@Component({ selector: 'my-selector',styles: [ require('./my.style.scss'),':host >>> .mystyle { background-color: green }' ],templateUrl: './my.template.html' })
解决方法
AFAIK>>> SASS不支持,因为这个组合器没有进入CSS标准.
Angular有它自己的实现来模仿它的支持.
Angular有它自己的实现来模仿它的支持.
AFAIR只是使用空格而不是>>>使用ViewEncapsulation.Emulated(默认值)在Angular2中具有相同的效果.
使用空格似乎不等于>>>和/深/再.
/ deep /相当于>>>在Angular中,但只有/深度/适用于SASS.
更新
SASS已弃用>>>并引入了:: ng-deep用于特殊的角度支持(因此名称中的ng-).
最近的Angular 4版本已经支持:: ng-deep,并且已经弃用了>>>.
在文档中提到了:: ng-deep也被弃用了,但这是出于不同的原因.当所有浏览器都支持具有正确主题的影子DOM时,将删除ViewEncapsulation.Emulated(默认值),并且Native将成为默认值,并且:: ng-deep将变得过时.
更新2
现在所有新浏览器都支持:: slotted,可以与`ViewEncapsulation.ShadowDom一起使用