一般css解决一张图片在另一张图片上面的问题:
<div>
<img src="..." class="img1">
<img src="..." class="img2">
</div>
css部分:
.img2{
position:absolute;
z-index:2;
}
原理就是设定position为非默认值,然后设定z-index的值调整图层就行了。
数值越大,图层越靠前(或者说在上面)
而在uniapp中,因为使用了组件image,所以处理的方法可能有区别。
<view class="title">
<image class="title_img" src="/static/05Mines/MyInfoSet/background.png"></image>
<image class="upload_pic" src="/static/05Mines/MyInfoSet/upload_pic.png"></image>
</view>
scss部分:
.title{
.title_img{
position: relative;
width: 100vw;
height: 54vw;
}
.upload_pic{
position: absolute;
width: 19vw;
height: 19vw;
margin: 13vw 41vw;
z-index: 2;
}
}
结果如下:

只显示了第一张图片,第二张图片没显示在第一张的上面,即使我设置了z-index:2。
这种方法无法达成目标。
现在,将两个image组件顺序换一下,结果如下:
<view class="title">
<image class="upload_pic" src="/static/05Mines/MyInfoSet/upload_pic.png"></image>
<image class="title_img" src="/static/05Mines/MyInfoSet/background.png"></image>
</view>
scss部分不变,显示结果如下:

能够达到目标,也就是说在uni-app里面,让一张图片在另一张图片上面,除了设定postion和z-index之外,还必须把在上面的图片的代码写在前面。
这个方法只能对症下药,背后原理没有细究,希望高手指点。
通过CSS设置position和z-index可以实现图片的层级控制,但在uniapp中,使用image组件时,直接设置z-index可能无法达到预期效果。解决办法是将要置于上方的图片组件的代码写在前面,这样无需额外CSS调整即可实现图片叠加。

1万+

被折叠的 条评论
为什么被折叠?



