vue多页应用与页面适配的问题

发布于 2022-09-11 17:30:12 字数 188 浏览 27 评论 0

项目开发用了vue框架 是一个PC多页应用 有一个页面是全屏的 19201080的设计图 这个页面需要在19201080下适应,也要在3840*2160上适配 我想用rem来做动态设置html的font-size 就是在resize的时候改变html的字体大小,但是这个动态设置的代码该写在哪里呢 多页一般有js vue html三个文件?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昵称有卵用 2022-09-18 17:30:12

入口文件 main.js 引入就可以了

路还长,别太狂 2022-09-18 17:30:12

写在css上不行?@media

花开半夏魅人心 2022-09-18 17:30:12

写一个mixins来动态设置html的font-size ,因为font-size只需要设置一次,所以只需在每个页面的入口js中引入这个mixins就可以了。

//bodyFontSizeMixins.js
export default {
  data(){
    return {
      resizeTimer: null
    }
  },
  created(){
    this.initFontSize()
    window.onresize = () => {
      clearTimeout(this.resizeTimer)
      this.resizeTimer = setTimeout(() => {
        this.initFontSize()
      }, 500)
    }
  },
  methods: {
    initFontSize(){
      let width = document.documentElement.clientWidth || document.body.clientWidth
      this.contentHeight = document.documentElement.clientHeight || document.body.clientHeight
      const rem = width < 640 ? Number(width / 18.75).toFixed(1) : 22
      document.querySelector('html').style.fontSize = `${rem}px`
    }
  }
}
//app.vue
import setBodySize from {your path}/bodyFontSizeMixins
export default {
  mixins: [setBodySize],
}

混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

mixins官方文档

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文