html - 超出组件范围的 Angular2+ 样式父级

标签 html css angular angularjs-directive

是否可以执行以下操作......

app.component.html

   <app-nav></app-nav>
    <div class="page-wrapper">
      <div class="page-content clearfix">
        <router-outlet></router-outlet>
       </div>
     </div>

当路由到特定的 Component 并在转到其他 后,我可以将以下 CSS 应用于 page-wrapperpage-content 类吗>Component 按原样删除... ?

CSS

.page-content {
  margin-bottom: 0px;
}

@media screen and (min-width: 1367px) {
  .page-wrapper {
    width: 100%;
  }
}

我也尝试了 View Encapsulation 选项(无),但这将样式应用于始终是它们的 header ......即使我路由到其他 Component

@Component({
// ...
encapsulation: ViewEncapsulation.None,
styles: [
  // ...
]
})

最佳答案

您走在正确的轨道上,需要为 page-wrapper 设置样式和 page-content来自 <router-outlet> 中显示的每个组件通过使用 ViewEncapsulation.None .因此,通过这样编写样式,每次父元素(page-wrapperpage-content)的样式都会根据组件进行覆盖。

@Component({
    selector: 'component-x',
    encapsulation: ViewEncapsulation.None,
    styles: [`
      .page-wrapper, .page-content{
          background-color: red;
      }
    `]
});


@Component({
    selector: 'component-y',
    encapsulation: ViewEncapsulation.None,
    styles: [`
      .page-wrapper, .page-content{
          background-color: green;
      }
    `]
});

关于html - 超出组件范围的 Angular2+ 样式父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44668302/

相关文章:

java - 无法让 CSS 加载到网络应用程序中

javascript - 获取事件类的前 li

angular - RxJS 的行为不符合预期

javascript - 拖放表格 - 将单元格移动到不同的列

javascript - 为什么简单的 JQuery 对话框/弹出窗口不起作用?

html - 在 Z 轴上平移表单/输入

javascript - 悬停元素时显示/隐藏级联菜单

javascript - 无法读取未定义 Angular 7 的属性

angular - 在 Angular 2/4 中刷新之前执行函数

javascript - 在数据表上显示列的总和(总计)并导出到 Excel