微信小程序设置背景图片提示:[渲染层网络层错误]中的本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签。

519 阅读1分钟

问题代码:

wxml:

<view class="login-box">

</view>

wxss:

.login-box{

  width650rpx;

  height700rpx;

  background-imageurl(../../image/auth-default.png);

}

解决方法:

1.使用image组件,在布局中使用多层定位。缺点:布局结构可读性不高。

2.将图片通过在线转化网站,转化成base64格式。缺点:base64内容太长了,影响样式代码阅读。

 3.直接通过把样式直接写入WXML文件里。缺点:代码看上去不够优雅。(最简单)

 4.直接使用网络图片。缺点:需要放到服务器上。(最灵活)

把样式直接写进WXML里实现方法

当然如果实际业务需求没有替换图片的需求也可以使用第3个方案,这个是最省事的方案。

wxml代码:

<view class="login-box" style="background-imageurl(../../image/auth-default.png);background-size100% 100%;">wxss代码:
</view>

wxss代码:

.login-box{
  width650rpx;
  height700rpx;
  margin0 auto;
}

建议使用第4种方法解决,虽然首次操作会有点麻烦,但是这样可以增加灵活度后续可以不发版本直接替换远程图片。但使用网络图片的也存在问题,如项目批量运营的,在wxss是不能指定动态域名的,如把图片资源统一放在一台服务器,这样非常灵活但是唯一不足就是会这台服务器的运行压力。

也可以放在云托管(云开发),这样也和放在服务器一样灵活。