首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义元素上的CSS选择器

自定义元素上的CSS选择器
EN

Stack Overflow用户
提问于 2016-09-16 17:32:16
回答 2查看 1.8K关注 0票数 2

直接设置Angular2自定义元素的样式并使用CSS选择器选择它们有什么禁忌吗?

示例:

代码语言:javascript
复制
// HTML
<My-Page>
    <header></header>
    <main></main>
    <My-Footer class="sticky-footer"></My-Footer>
</My-Page>

// CSS 
My-Page {
    background-color: grey;
}

header {
    ...
}

.sticky-footer {
    position: absolute;
}

好还是不好的做法?

EN

回答 2

Stack Overflow用户

发布于 2016-09-16 17:45:18

虽然这是完全有效的,但它破坏了模块化。组件可以设置自己的根元素的样式:

my-page.component.css

代码语言:javascript
复制
:host{
  background-color: grey;
}

header {
    ...
}

.sticky-footer {
    position: absolute;
}

这将实现相同的功能,并在组件中包含对MyPageComponent至关重要的CSS。

票数 2
EN

Stack Overflow用户

发布于 2016-09-16 17:42:46

您应该使用阴影穿透CSS组合符>>>、//和::shadow

代码语言:javascript
复制
styles: [
    `
     :host { background-color: grey; }

     :host >>> header{
       background:yellow;
     }

     :host >>> My-Footer{  
       position: absolute;
     }         
    `
],
template:
`
<My-Page>  //<----no need as this becomes your :host

    <header></header>
    <main></main>
    <My-Footer class="sticky-footer"></My-Footer>

</My-Page> //<----no need
`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39528116

复制
相关文章

相似问题

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