【发布时间】:2018-08-22 16:27:32
【问题描述】:
在我的 Angular 应用中,我想为特定视图设置背景图像。
为此,我在一个组件的 css-file 中添加了以下内容:
body {
background-image: url("../../../assets/images/backgroundImage.jpg");
}
但是,背景没有改变。
这是包含上面显示的 css 代码的文件的文件路径:
angular-app/src/app/users/profile/profile.component.css
...这是背景图像的文件路径:
angular-app/src/assets/images/backgroundImage.jpg
我也试过了
body {
background-image: url("assets/images/backgroundImage.jpg");
}
...但这导致编译期间出现警告并且也不起作用。
我做错了什么?
我给根元素类“root”,然后将以下内容放入 css 文件中:
.root {
background-image: url("../../../assets/images/backgroundImage.jpg");
}
...现在背景会改变,但屏幕的整个垂直长度不会改变(下半部分保持白色):
【问题讨论】:
-
如果你想让它应用到body标签,把它放在
styles.css -
但是它将应用于所有组件/视图,不是吗? ...我希望它只应用于这个特定的视图
-
然后你需要将它应用到该组件的根标签,即如果你的HTML文件中的第一行是
<div id="test" />,那么你应该将它应用到#test。当 Angular 构建应用程序时,它会应用称为 ViewEncapsulation 的东西,因此组件 CSS 文件中的 CSS 将(通常)仅适用于该特定组件中的 HTML -
你……现在背景是可见的……但仅适用于部分屏幕(请参阅我的帖子的更新)
-
对于不填满整个屏幕添加这个
html, body { margin: 0; height: 100%; }
标签: css angular url background-image