body样式
body {
position: relative;
width: 1920px;
height: 1080px;
box-sizing: border-box;
// scale 缩放中心 左上角
transform-origin: left top;
}
useScalePage.js
import { onMounted, onUnmounted } from 'vue';
import _ from 'lodash';
/**
大屏适配的 hooks
*/
export default function useScalePage(option) {
const resizeFunc = _.throttle(function () {
triggerScale(); // 动画缩放网页
}, 100);
onMounted(() => {
triggerScale(); // 动画缩放网页
window.addEventListener('resize', resizeFunc);
});
onUnmounted(() => {
window.removeEventListener('resize', resizeFunc); // 释放
});
// 大屏的适配
function triggerScale() {
// 1.设计稿的尺寸
let targetX = option.targetX || 1920;
let targetY = option.targetY || 1080;
let targe