• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
努力填坑
博客园    首页    新随笔    联系   管理    订阅  订阅

单模块自适应大小

1、npm 下载  
"element-resize-detector": "^1.2.4"

2、页面引入

import elementResizeDetectorMaker from "element-resize-detector";

3、页面使用

<div id="fillInRem"></div>

mounted() {//实例被挂载后调用
let that = this;
that.erd = elementResizeDetectorMaker()
that.erd.listenTo(document.getElementById("fillInRem"), function (element) {
//监听div宽度变化
// let width = element.offsetWidth
// let height = element.offsetHeight
let width = window.innerWidth
let height = window.innerHeight
// console.log(width)
console.log(height)
that.$nextTick(function () {

let fontSize = height / 100 + 'px';
let html = document.documentElement;
html.style.fontSize = fontSize;
console.log('fontSize',html.style.fontSize)
})
})
},

destroyed() {
this.erd.uninstall(document.getElementById("fillInRem"))
},

4、比例自己算

5、样式

1px = 0.12484394506866417rem = 1/((window.innerHeight)/100)
<style lang="scss" scoped>
$remPx1:0.12484394506866417rem;
</style>


posted @ 2022-09-17 10:18  努力填坑  阅读(36)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3