解决vue3-print-nb打印二维码定位(qrcode.vue) 问题

2 篇文章 0 订阅

解决vue3-print-nb打印二维码定位(qrcode.vue) 问题

在使用vu3-print-nb搭配qrcode.vue产生二维码的时候,我的代码是设置了全部元素都居中显示的,效果如下

    <div id="qrcode">
      <div style="margin-bottom: 20px">生产工单二维码</div>
      <div class="qrbox">
        <qrcode-vue
          size="300"
          class="code"
          :value="`workOrder-8bRDO7ieHOU4kVO2-${qrCodeInfo.id}`"
        ></qrcode-vue>
      </div>
      <div style="margin-top: 30px; margin-bottom: 20px">
        工单id: {{ qrCodeInfo.id }}
      </div>
      <div class="text">客户名称: {{ qrCodeInfo.customerName }}</div>
      <div class="text">产品名称: {{ qrCodeInfo.productName }}</div>
      <div class="text">产品编号: {{ qrCodeInfo.productNumber }}</div>
      <div>订单编号: {{ qrCodeInfo.orderNo }}</div>
    </div>

<style lang="scss" scoped>
#qrcode {
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  .text {
    margin-bottom: 20px;
  }
}
</style>

在这里插入图片描述
但当点击打印的时候,打印页面的二维码就不会自动居中,而是跑到了左上角

在这里插入图片描述
所以想要解决使二维码居中或者是其他位置的时候就要在css里面更改如下代码,注意一定要写
@media print,而@media print里面的class就是修改打印页面样式的class。
我这里给包裹二维码的box设置了class =“qrbox”,所以在qrbox里面修改二维码的样式,不过注意的是 transform: translate();这类属性在对qrcode二维码进行位置的修改是不起作用的,所以我这里是给了一个相对定位并且使用top,left等属性对二维码进行定位,完成效果如下
在这里插入图片描述


<style lang="scss" scoped>
#qrcode {
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  .text {
    margin-bottom: 20px;
  }
}

@media print {
  #qrcode {
    position: relative;
    text-align: center;
    font-weight: 700;
    font-size: 60px;
    .qrbox {
      width: 50%;
      position: relative;
      left: 23%;
      top: 25px;
      margin-bottom: 100px;
      margin-top: 100px;
      .code {
        // height: 500px;
        width: 100%;
      }
    }
  }
}
</style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值