使用注意事项
- 代码中的所有的宽高是指正常视图下的宽高,我的项目是大屏,所以正常视图下是 1920 * 1080,普通 PC 项目,那应该是 1920 * 937
- 由于缩放是对 #app 进行的操作,很多UI框架的全局弹窗无效,因为弹窗不包含在 #app 元素中,可查看框架是否有提供API指定弹窗位置,Element-ui 是有的
function setCalc () {
const scaleX = document.documentElement.clientWidth / 1920
const scaleY = document.documentElement.clientHeight / 1080
const app = document.getElementById('app')
if(scaleX > scaleY) {
app.style.transform = `translate(-50%, -50%) scale(${scaleY})`
} else {
app.style.transform = `translate(-50%, -50%) scale(${scaleX})`
}
}
window.onresize = function () {
setCalc()
}
export default function init() {
setCalc()
}
|