1 html css single-page-application angular angular5
目前我正在使用 Angular 5 制作 SPA。
我想用背景(不仅仅是一个组件)填充整个屏幕,但我希望每个页面都有不同的背景,我该如何实现?
我已经在相关页面的 component.css 中尝试了这段代码(例如 home.component.css):
body {
background-color: aqua;
}
Run Code Online (Sandbox Code Playgroud)
(以背景色为例)
使用这种方法,我以为我可以覆盖每个组件的主体背景,但它似乎不起作用,页面保持空白。
我很感激你能给我的任何帮助,在此先感谢。
小智 5
我认为你的问题是当你添加
body {
background-color: aqua;
}
Run Code Online (Sandbox Code Playgroud)
对于您的组件 css,Angular 将其重写为类似
body[_ngcontent-c0] {
background-color: yellow;
}
Run Code Online (Sandbox Code Playgroud)
如果您检查,您可以在开发工具中看到它。因此,样式不会附着在身体上。您可以使用 Renderer2 更改每个组件的主体样式。例如:
import { Component, Renderer2 } from '@angular/core';
@Component({
selector: 'home',
templateUrl: './home.component.html',
styleUrls: [ './home.component.css' ]
})
export class HomeComponent {
name = 'Home';
constructor(private renderer: Renderer2) {
this.renderer.setStyle(document.body, 'background-color', 'yellow');
}
}
Run Code Online (Sandbox Code Playgroud)
类似问题:Angular2 将类添加到主体标签
Angular 文档:https : //angular.io/api/core/Renderer2
希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
3854 次 |
| 最近记录: |