前端自适应缩放解决方案
设计师以1920*1080 比例给出设计稿, 需要高还原度实现效果可以使用等比例缩放页面方案,具体代码如下
html,body {background: #010a3d;padding: 0;margin: 0;width: 100%;height: 100%;--scale: 1;}.homepage {width: 1920px;height: 1080px;background: rgb(101, 154, 252);background-size: 100% 100%;position: absolute;transform: scale(var(--scale)) translate(-50%, -50%);transform-origin: 0 0;left: 50%;top: 50%;transition: 0.3s;}
<!--自动缩放容器 1920*1080 -->
<div id="homepage" v-cloak class="ScaleBox" ref="ScaleBox" :style="{width: width + 'px',height: height + 'px'}">
<script>'use strict';var homepage = new Vue({el: '#homepage',data() {return {scale: 0,width: 1920,height: 1080,}},mounted() {//以1920*1080设计稿 为标准尺寸进行自动缩放this.setScale();window.addEventListener("resize", this.debounce(this.setScale));},methods: {getScale() {// 固定好16:9的宽高比,计算出最合适的缩放比const {width, height} = this;const wh = window.innerHeight / height;const ww = window.innerWidth / width;console.log(ww < wh ? ww : wh);return ww < wh ? ww : wh;},setScale() {// 获取到缩放比例,设置它this.scale = this.getScale();if (this.$refs.ScaleBox) {this.$refs.ScaleBox.style.setProperty("--scale", this.scale);}},debounce(fn, delay) {const delays = delay || 500;let timer;return function () {const th = this;const args = arguments;if (timer) {clearTimeout(timer);}timer = setTimeout(function () {timer = null;fn.apply(th, args);}, delays);};},},created() {}})
</script>
前端自适应缩放解决方案相关推荐
- 【前端大屏实战1】Vue+Echarts -- 大屏简介初体验 => 大屏自适应缩放解决方案 => 使用transform:scale => 组件化抽离ScaleBox=>【两分钟实现大屏宽高等比例】
如果累了就冬眠吧,如果睡不着,就接纳暂时的失眠,不强迫自己入睡. 目录 一.大屏简介 1.数据可视化 2.大屏用途 3.大屏效果展示 二.大屏需求分类 1.固定尺寸的"真实"大屏 ...
- 移动前端自适应解决方案和比较
移动前端自适应解决方案和比较 参考文章: (1)移动前端自适应解决方案和比较 (2)https://www.cnblogs.com/liulinjie/p/5671252.html (3)https: ...
- 前端自适应----单位rem
下边是大神对<移动前端自适应解决方案和比较>的链接: 移动前端自适应解决方案和比较 通过使用,自我感觉网易的解决方案是最方便我们使用时候的计算. 代码: (function(factory ...
- Unity安卓手机屏幕自适应完美解决方案
本人正在努力建设自己的公众号,大家可以关注公众号,公众号将免费提供大量教学Unity相关内容,除了从Unity入门到数据结构设计模式外,我还会免费分享我再游戏开发中使用的素材,书籍,插件,希望大家可以 ...
- MFC对话框最大化/窗口化及控件自适应缩放以及嵌套窗口缩放
1. 实现方法(计算窗口放大/缩小比例,控件相应缩放并改变位置,但会存在一定问题) 先在窗口类的头文件中添加相应变量与函数(其中OnSize由类向导消息WM_SIZE生成): // XXXDlg.h/ ...
- 基于webpack的前端工程化开发解决方案探索(一):动态生成HTML
基于webpack的前端工程化开发解决方案探索(一):动态生成HTML 参考文章: (1)基于webpack的前端工程化开发解决方案探索(一):动态生成HTML (2)https://www.cnbl ...
- 关于图片按比例自适应缩放
今天在看视觉规范的时候,大高走过来说 帮他们那边看一个问题.又是一个关于自适应的问题.不过,我喜欢.瞄了一下,需求是这样的:用户上传照片,照片的尺寸未知:需要生成一个预览,这个预览图 要根据提供给用户 ...
- css怎样将图片设置成正方形,而且随着浏览器窗口大小的改变而自适应缩放
效果图如下: 代码实例如下: <!doctype html> <html lang="en"><head><meta charset=&q ...
- alter table add column多个字段_ElementUI表格el-table表头固定自适应高度解决方案
一.前言 ElementUI.iView都以相同的方式提供了表格组件表头固定的方法,即设置组件的height属性.表头固定很重要,就在于当表格数据项很多时,滚动条出现在表格组件内,而不是出现在表格组件 ...
最新文章
- 7的整除特征 三位一截_小学生三位数加法的策略与表现
- 循环冗余码CRC使用matlab实现
- webservice框架_聊聊从RPC到服务治理框架
- gradle wrapper 版本与 android build tool 版本匹配要求
- python多进程写入mysql_Python实现 多进程导入CSV数据到 MySQL
- vue el-tree 默认选中_Vue UI:Vue开发者必不可少的工具
- extjs 教程 java_Extjs视频教程_快速上手Extjs4.2实战开发
- linux常用的英文单词收集
- 钱晓捷第五版习题4 题4.8 bufx bufy bufz 为三个有符号十六进制数编写一个比较相等关系的程序如果这三个数都不相等则显示0,其中两个相等显示1 ,三个都相等则显示2
- 统计通话次数和时间的软件_通话时间统计下载
- Si24R2F+超低功耗高性能2.4GHz无线射频NTC测温单发射芯片 兼容Si24R2E
- 单片机问题,24V NPN接近开关信号,怎么接入到单片机
- 【Machine Learning】【Andrew Ng】- Quiz2(Week 9)
- java发送通知栏样式_Android 通知栏Notification详解
- 建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们
- plink描述性统计--等位基因频率、缺失值
- 1074:津津的储蓄计划
- Postman 教程
- 由通信的发展史浅谈通信行业的未来
- nginx启动命令以及与配置systemctl