收藏
回答

background中使用svg背景不显示

背景图片使用的svg图标不显示, 使用方式为 background: url('data:image/svg+xml;utf8,<svg fill="#333" ......) ;在其他帖子看到要把utf8改为base64,改了之后还是没显示

回答关注问题邀请回答
收藏

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-05

    不只是把utf8改为base64吧

    是要把后面的<svg ....>数据转为base64数据,然后 background: url('data:image/svg+xml;base64,sHKSfd15svs==') 

    var t = this, fs = wx.getFileSystemManager(), file = `${wx.env.USER_DATA_PATH}/svg_name` + '.svg'
        var res = fs.writeFile({
          filePath:file,
          data:'<svg ..>....</svg>',
          success: function (res) {
            console.log(res)
            var base64 = fs.readFileSync(
              file,
              'base64'
            )
            t.setData({
              base64
            })
          },
          fail:function(res){console.log(res)}
      })
    ============================================
    <view style='width: 1em; height: 1em;background:url("data:image/svg+xml;base64,{{base64}}")'></view>
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-05
    有用 1
    回复
登录 后发表内容
问题标签