前言

政企项目少不了大屏适配的场景,如何打造完美的大屏适配解决方案呢?

解决方案

大屏幕适配需要从以下几个方面入手,第一个是宽高、第二个是字体大小、第三个是三方库的设置。

1.针对宽高:

从最外层到最内部的所有盒模型布局相关(margin/padding/width/height),全部用百分比来完成,部分无法撑开的高度可以用vh来完成。

2.针对字体大小:

需要使用rem,并封装对应的flexible,根据视觉稿来对应

举个例子:

const baseSize = 16
// 设置 rem 函数
function setRem () {const scale = document.documentElement.clientWidth / 1920document.documentElement.style.fontSize = baseSize * Math.min(scale) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {setRem()
}

同时封装css预处理器相关函数:

@function pxTorem($px){//  默认16px@return $px / 16 * 1rem;
}

3.针对三方库

有些三方库设置的时候是以像素为主的,故而在大屏视频中,需要手动计算,故而我们需要在resize时做一段逻辑,拿到一个charScale的缩放比例,这里以vue的mixin为例子:

import _ from 'lodash'export default {data() {return {charScale: 0.5}},mounted() {this.__resizeHandler = _.debounce(() => {const clientWidth = document.body.clientWidthif (clientWidth) {this.charScale = clientWidth / 1920}}, 100)window.addEventListener('resize', this.__resizeHandler)this.charScale = document.body.clientWidth ? document.body.clientWidth / 1920 : 1},beforeDestroy() {window.removeEventListener('resize', this.__resizeHandler)},methods: {// use $_ for mixins properties// https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential$_sidebarResizeHandler(e) {if (e.propertyName === 'width') {this.__resizeHandler()}}}
}

一文讲清大屏适配(大到四个屏幕也不怕)相关推荐

  1. 一文讲清Python的7大学习路线(建议收藏)

    现如今铺天盖地都是来自学习Python的勇士,Python这个编程语言中最友好的语言早已不是高不可攀的状态了. 无论是业余爱好,还是专职求学,学习Python的朋友都在依靠着自己的方法,勤勤恳恳的学习 ...

  2. 记公司项目中数字大屏适配4K大屏的问题

    记公司项目中数字大屏适配4K大屏的问题 在接手的时候,前端页面已经开发完成,div高度与宽度是百分比,所以适配问题不用考虑宽高问题,但字体边距等没有统一单位,要求适配4k屏 首先4k屏的宽高是3840 ...

  3. 前端大屏适配几种方案

    记录一下前端大屏的几种适配方案. 我们是1920*1080的设计稿. 文章目录 一.方案一:rem+font-size 1.查看适配情况 1.1 1920*1080情况下 1.2 3840*2160( ...

  4. echarts 大屏适配

    两篇文章: 大屏适配解决方案 - 掘金 更新!移动端最佳适配解决方案出炉 第一个项目:vw,vh 适配 <meta name="viewport" content=" ...

  5. Three.js + React + Echart(折线图 光线流动效果,柱状图数据动态更新动画) + Svga-Web应用之数据大屏(适配1920*1080 2560*1440 3840*2160)

    Web应用之数据大屏 一.技术栈 React 17.0.0 搭建脚手架 Eahcrt常规图表 Svga动画 3D模型-Three.Js 大屏适配-目标大屏(4K -3840*2160) 二.React ...

  6. Vue 前端数据大屏 适配

    逻辑分析: 采用了css3的缩放transform: scale(X)属性,我们不难发现本人改变分辨率时,scale的值是变化的.前端小伙们们看到这,想必也已经明白了大概. 我们只要监听浏览器窗口大的 ...

  7. 爆肝十小时,为你总结出最全的数据大屏适配屏幕方案

    前言 近期公司投放在展厅大屏中演示的大数据页面,出现了文字.图表.表格等多类组件显示错乱的情况,大部分原因还是适配问题. 我们做数据大屏时,因为显示器尺寸不同,会导致展示的时候有留白区域,效果不好,所 ...

  8. Vue 可视化大屏适配方案

    最近在做可视化大屏的适配,要求大屏页面能够在大屏和电脑自适应,查阅了一些资料,大体上有 3 种方案: 1.使用 transform 2.将 px 转化为 rem 3.使用 zoom 查看当前浏览器尺寸 ...

  9. web端大屏适配解决方案

    背景:近期公司投放在展厅大屏中演示的大数据页面,出现了文字.图表.表格等多类组件显示错乱的情况. 目的 解决页面错乱问题,实现多种分辨率的大屏适配 入坑分析 俗话说的好,走过的最多路,就是网友们套路 ...

最新文章

  1. gulp+browserSync自动刷新页面
  2. python基础-2
  3. OSSIM主要数据库表结构
  4. loj2090. 「ZJOI2016」旅行者
  5. Opencv——霍夫变换以及遇到的一些问题
  6. python glob.glob() 函数
  7. DotLucene搜索引擎Demo之:搜索索引
  8. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列二(weblogic 应用程序使用log4j)
  9. SignalTap II里面Power-Up Trigger的使用
  10. 生产者消费者之爸爸妈妈儿子女儿苹果橘子编程实现
  11. 特征选择mRMR算法实现全解
  12. 圆 最小外包矩形_基于迭代最小外包矩形的城区建筑物轮廓规则化方法
  13. 安卓反编译smali代码注入第三方广告
  14. 中兴通讯加入LoRa Alliance董事会 推动中国运营级LoRa产业链发展
  15. eulerOS 欧拉OS 审计修复日记
  16. Linux下XFS文件系统使用 Quota 进行合理划分实例
  17. codec engine 编译
  18. NPOI导出EXCEL 打印设置分页及打印标题
  19. Ubuntu安装最新的SlickEdit软件--破解教程
  20. h5移动端调试工具vConsole

热门文章

  1. 【CV】第 3 章:使用 OpenCV 和 CNN 进行面部检测
  2. 基于Android的健身系统-计算机毕设 附源码90470
  3. jse 文章总结(一部分)
  4. Centos7查看防火墙以及端口开放情况
  5. DefaultSerializer requires a Serializable payload but received an object of type [reggie.common.R]
  6. FlashPlayer的安全性比上不足比下有余 *未必是真实的数据
  7. 51NOD-1414 冰雕
  8. 关于安卓图库更新的问题无效解决办法
  9. 程序员之 一个迷途的小羔羊!!!!
  10. 计算机图形学中的渲染管线