微信小程序中,直接在css中直接使用本地图片为view设置背景图片:

<style>
        div{
            width: 500px;
            height: 500px;
        }
        .box1{
            background-image: url(../../image/alltest_bag.jpg);
        }
</style>
<div class="box1"></div>

报错:

VM198:5 pages/allTest/allTest.wxss 中的本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签。请参考文档:https://developers.weixin.qq.com/miniprogram/dev/qa.html#%E6%9C%AC%E5%9C%B0%E8%B5%84%E6%BA%90%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87-wxss-%E8%8E%B7%E5%8F%96
   8 |   align-content: center;
   9 |   background-image: url(../../image/alltest_bag.jpg)
> 10 | }
     |  ^

会出现如下问题,微信小程序不能用CSS的方法加载本地图片,比如background-url(),除非你把本地图片base64化,否则只能够用image组件。如果想将图片作为背景,而且上面海排列其他的一些组件的话,需要使用定位布局了。
代码如下:
xwml:

<view class="container">
    <image class="bgImg" src="/images/xxx.png"></image>
    <other-widget class="other-widget"></other-widget>  <!-- other widget希望是放在背景图片之上的 -->
</view>

wxss:

.container{
    position: relative;
}
.other-widget{
    position: absolute;
}

如果不采用定位的方法,other-widget就会按照块级元素排列在image的下边,但是如果我们采用绝对定位使other-widget脱离文档流,它就会相对于container进行定位,也就实现了在背景图片之上的效果。

1.看到这里了就点个在看支持下吧,你的「点赞,在看」是我创作的动力。
2.关注公众号【程序员成长指北】,回复「1」加入高级前端交流群!「在这里有好多 前端 开发者,会讨论 前端、 Node等 知识,互相学习」!
3.也可添加微信【ikoala520】,一起成长。
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐