收藏
回答

如何使背景图片完整显示?

设置了一张背景图片,总是不能与设备同宽,请问该如何设置。

 //对应  wxml  代码段
 <view
  class="body-background"
  style="background: url({{profile.profileUrl}}) no-repeat;"
  ></view>
//  对应  js
  data: {
    profile : {
      profileUrl: "",
      profileWidth:"",
      profileHeight:"",
    }
  }
//对应  wcss  代码段
.body-background{
  display: flex;
  flex-direction: row;
  width100%;
  height780rpx;
  background-size: contain;
  box-sizing: border-box;
  line-height780rpx;
  text-align: center;
}

显示结果如下:

另一方面

   //尝试通过获取移动设备参数适配
 wx.getSystemInfo({
      success: (res) => {
        that.globalData.windowWidth=res.windowWidth
        that.globalData.windowHeight=res.windowHeight
        console.log(res.screenWidth,res.screenHeight,res.pixelRatio)
      },
    })//设置在  app.js  中,通过全局变量传递至页面参数

style="background: url({{profile.profileUrl}}) no-repeat;
width:{{profile.profileWidth}}rpx;    height:{{profile.profileHeight}}rpx"



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

2 个回答

  • garField
    garField
    02-12

    能不能发个代码片段的链接,肉眼调试不太方便

    02-12
    赞同
    回复 1
    • FWAN
      FWAN
      02-12
      谢谢,今天又试了下,初步实现了相应的结果。
      02-12
      回复
  • LeeJim🌀
    LeeJim🌀
    02-11

    可以尝试使用vw单位:

    .body-background {
      width: 100vw;
    }
    

    另外body-background的宽度是受父元素影响的。

    02-11
    赞同
    回复 1
    • FWAN
      FWAN
      02-11
      试了说的VM,但是没有变化,父元素的属性代码我贴在下面了,父元素应该没有影响。请问还有其他方面的原因吗?
      02-11
      回复
登录 后发表内容
问题标签