大屏自适应解决方案(手写js)

一、插件v-scale-screen

地址前端可视化大屏适配方案_前端大屏适配方案 vw vh 适配方案,当浏览器窗口变动时 实时适配-CSDN博客

二、

使用方法

javascript 复制代码
<div id="app"></div>
<script type="module" src="/src/main.ts">
import { autoScale } from './autoScale.js'
autoScale('#app', {
  width: 1920,
  height: 1080
})
  </script>

autoScale.js

javascript 复制代码
function debounce(fn, delay) {
let timer
return function () {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, arguments);
}, delay);
};
}

export function autoScale(selector,options) {
const el = document.querySelector(selector);
const {width,height} = options; 

el.style.transformOrigin = "top left";
el.style.transition = "transform 0.5s"
function init(){
const scaleX = innerWidth / width
const scaleY = innerHeight / height
const scale = Math.min(scaleX, scaleY);

const left = (innerWidth - width * scale) / 2
const top = (innerHeight - height * scale) / 2
el.style.transform = ` translate(${left}px,${top}px) scale(${scale})`
}
init()
addEventListener("resize", debounce(init,200))
}
相关推荐
小王努力学编程几秒前
LangChain——AI应用开发框架(核心组件1)
linux·服务器·前端·数据库·c++·人工智能·langchain
pas13611 分钟前
35-mini-vue 实现组件更新功能
前端·javascript·vue.js
前端达人17 分钟前
为什么聪明的工程师都在用TypeScript写AI辅助代码?
前端·javascript·人工智能·typescript·ecmascript
快乐点吧18 分钟前
使用 data-属性和 CSS 属性选择器实现状态样式控制
前端·css
EndingCoder1 小时前
属性和参数装饰器
java·linux·前端·ubuntu·typescript
小二·1 小时前
Python Web 开发进阶实战:量子机器学习实验平台 —— 在 Flask + Vue 中集成 Qiskit 构建混合量子-经典 AI 应用
前端·人工智能·python
TTGGGFF1 小时前
控制系统建模仿真(十):实战篇——从工具掌握到工程化落地
前端·javascript·ajax
郝学胜-神的一滴1 小时前
深入解析C/S架构与B/S架构:技术选型与应用实践
c语言·开发语言·前端·javascript·程序人生·架构
s19134838482d2 小时前
javascript练习题
开发语言·javascript·ecmascript
这是个栗子2 小时前
前端开发中的常用工具函数(二)(持续更新中...)
开发语言·前端·javascript