Html 通过CSS添加CSS背景图像层
我有一个DOM元素:Html 通过CSS添加CSS背景图像层,html,css,Html,Css,我有一个DOM元素: <div style="background-image: url(layer1.png)">...</div> 因此,我需要有所有3层作为背景图像的DIV。 纯HTML5 CSS3有可能吗?不,不可能。将会发生什么: 您的div{}规则的优先级低于内联css,因此您的内联cssbackground image将覆盖以前的规则,而不是附加到它 解决方案: 使用子元素或:before/:after应用layer1.png .wrapper{ 高度:
<div style="background-image: url(layer1.png)">...</div>
因此,我需要有所有3层作为背景图像的DIV。
纯HTML5 CSS3有可能吗?不,不可能。将会发生什么: 您的
div{}
规则的优先级低于内联css,因此您的内联cssbackground image
将覆盖以前的规则,而不是附加到它
解决方案:
使用子元素或:before
/:after
应用layer1.png
.wrapper{
高度:200px;
宽度:300px;
背景图像:径向梯度(rgba(255,255,255,0.85)0%,rgba(236,245,245,0.19)75%,rgba(236,245,245,0)100%);
位置:相对位置;
}
.包装部{
位置:绝对位置;
左:10%;
排名前10%;
宽度:80%;
身高:80%;
}
身体{
背景色:黑色;
}
不,不可能。将会发生什么:
您的div{}
规则的优先级低于内联css,因此您的内联cssbackground image
将覆盖以前的规则,而不是附加到它
解决方案:
使用子元素或:before
/:after
应用layer1.png
.wrapper{
高度:200px;
宽度:300px;
背景图像:径向梯度(rgba(255,255,255,0.85)0%,rgba(236,245,245,0.19)75%,rgba(236,245,245,0)100%);
位置:相对位置;
}
.包装部{
位置:绝对位置;
左:10%;
排名前10%;
宽度:80%;
身高:80%;
}
身体{
背景色:黑色;
}
内联样式将完全替换CSS为该元素定义的属性
您可以做的是创建一个父元素和子元素作为层,然后在z-index
的帮助下对其进行分层,然后使用opacity
使其具有一定的透明度
HTML
内联样式完全替换CSS为该元素定义的属性 您可以做的是创建一个父元素和子元素作为层,然后在
z-index
的帮助下对其进行分层,然后使用opacity
使其具有一定的透明度
HTML
只需将下一层添加到子层并更改不透明度。是否要使用Css将新的html元素添加到DOM中?不,我只想让div的background image属性包含所有三层。但是layer1.png是一个DB结果,第2层和第3层应该可以通过CSS编辑。我只是不想用DOM属性覆盖CSS值。只需将下一层添加到子层并更改不透明度。是否要使用CSS向DOM中添加新的html元素?不,我只想让div的背景图像属性包含所有三层。但是layer1.png是一个DB结果,第2层和第3层应该可以通过CSS编辑。我只是不想用DOM属性覆盖CSS值。谢谢,但我问题的主要原因是使用背景混合模式值,为此我需要一个DOM中的所有层。可以使用CSS变量吗?我不知道正确的方法,使用javascript编辑DOM值在这方面似乎太麻烦了。@Martin然后用内联cssThank编写所有背景,但我问题的主要原因是使用背景混合模式值,为此我需要一个DOM中的所有层。可以使用CSS变量吗?我不知道正确的方法,使用javascript编辑DOM值在这方面似乎太麻烦了。@Martin然后用内联css编写所有背景
div {
background-image: url('layer2.png'),radial-gradient( rgba(255, 255, 255, 0.85) 0%, rgba(236, 245, 245, 0.19) 75%, rgba(236, 245, 245, 0) 100%);
}
<div class="layers">
<div class="layer1" style="opacity: 0.2; background-image: url(foo.png);"> </div>
<div class="layer2" style="opacity: 0.4;"></div>
<div class="layer3" style="opacity: 0.2;"></div>
</div>
.layers{
position:relative;
width: 100px;
height: 100px;
}
.layer1, .layer2, .layer3{
position:absolute;
top:0px;
left:0px;
width: 100%;
height: 100%;
}
.layer1{ background-color: red; z-index: 0;}
.layer2{ background-color: orange; z-index: -1;}
.layer3{ background-color: pink; z-index: -2; }