首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么不包括我的mdDialog组件的SCSS文件?

为什么不包括我的mdDialog组件的SCSS文件?
EN

Stack Overflow用户
提问于 2017-07-11 16:29:57
回答 2查看 200关注 0票数 1

我有一个相当基本的角质材料对话组件,它将消息传递给用户:

代码语言:javascript
运行
复制
...

        let dialogRef = this.dialog.open(
            UserMessagingDialog,
            {
                data: {
                    'messages': this.messagesToShow,
                    'messageColors': this.messageColors,
                    'messageIcons': this.messageIcons
                },
                hasBackdrop: false,
                panelClass: 'messaging-panel'
            }
        );

        dialogRef.afterClosed().subscribe(result => {
            // angular.element('messaging .messaging-icon').removeClass('rotate-cw tinted');
        });
    }
}

@Component({
    selector: 'user-messaging-dialog',
    templateUrl: './user-messaging.dialog.html',
    styleUrls: ['./user-messaging.component.scss']
})
export class UserMessagingDialog {
    constructor(
        @Inject(MD_DIALOG_DATA)

        public data: any,
        public dialogRef: MdDialogRef<UserMessagingDialog>
    ) { }
}

我试图对内部工具栏进行样式化,因此我包含了父组件的SCSS文件,如上面所示。然而,它并没有被应用。建筑是通过Webpack/角-CLI。

SCSS文件包含普通CSS,并正确地包含在使用相同路径调用对话框的组件中:

代码语言:javascript
运行
复制
.messaging-panel .message-text {
    padding-top: 2px;
    padding-left: 8px;
    white-space: normal;
}
/* ... plus about 80 more lines */

我还尝试将对话框样式分解为自己的文件,并通过组件上的styles直接注入样式。

对话框是否接受CSS文件,如果是,为什么它对我不起作用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-11 19:10:54

组件样式通常只应用于组件自己的模板中的HTML。 使用/深度/选择器强制将样式通过子组件树向下放置到所有子组件视图中。深/选择器工作于嵌套组件的任意深度,它同时适用于组件的视图子元素和内容子元素。

因此,为了使DOM中的所有子元素都来自我们需要使用的主机,

代码语言:javascript
运行
复制
  :host /deep/ <selector>{}

例如柱塞

阅读更多关于它的这里

票数 1
EN

Stack Overflow用户

发布于 2017-07-11 19:00:42

结果是,样式表正在加载,但样式的作用域是属性选择器,这种方式破坏了我的后代选择器。

例如,.messaging-panel .message-text将变成.messaging-panel[some_other_attr_id] .message-text[some_attr_id]。问题是父选择器有一个不同的范围属性,这破坏了样式规则。

我的解决方案是移除那些情况下的父选择器。

更新: Madhu提供了一个更合适的解决方案

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45040039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档