数据大屏响应式布局rem
数据大屏响应式布局,主要用到rem,涉及一个rem.js文件,需要安装一个依赖 postcss-px2rem ,此外还用到vw、vh 、百分比相对单位来设置布局宽度。
1、什么是rem?摘自菜鸟教程
rem是CSS3新增的一个相对单位(root em,根em),这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。
2、postcss-px2rem 的作用是把css文件中的px自动转为rem
写css样式时,写固定的px,通过该插件将自动转换px为rem。比如设置头部高度为80px,在浏览器中查看 按f12,会看到对应的css变为了5.714286rem,此时根节点的font-size: 11.6375px;,计算出头部高度为 11.6375 *5.714286=66.5px
3、rem.js文件如下:
1 const baseSize = 14 2 // 设置 rem 函数 3 const setRem=()=> { 4 // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。 5 const scale = document.documentElement.clientWidth / 1920 6 // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整) 7 console.log(scale); 8 if(scale>=0.46){ 9 document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px' //根据比例计算根节点的font-size大小 10 }else{ 11 document.documentElement.style.fontSize = '6.5px' 12 } 13 14 15 } 16 // 初始化 17 setRem() 18 // 改变窗口大小时重新设置 rem 19 window.onresize = function() { 20 setRem() 21 }
在入口文件main.js中引入rem.js
当改变窗口时,根据当前窗口宽度重新计算根节点的fontsize
页面中rem的值对应也将重新计算。
4、使用相对单位来设置布局宽度
比如vw,vh (代表窗口的宽和高)
设置100vw 相当于设置百分百窗口宽,10vw相当于设置10%的窗口宽
比如百分比来定义宽高,100% 30%
最外层的div宽高设定好后,内部的div用百分比来定义,相对于外层,多高。
如下所示,
大屏左中右三个div设置样式如下: 用百分比设置宽度,当调整窗口宽度的时候,div的宽自动变了。
1 #centerBox{ 2 width:48%; 3 height: calc(100% - 100px); 4 min-height: 400px;/*no*/ 5 position: absolute; 6 z-index: 9999; 7 left:26%; 8 top: 100px; 9 }
10 #centerBottomBox{ 11 width: 100%; 12 height: calc(40% - 60px) 13 } 14 19 #rightBox{ 20 width:24%; 21 height: calc(100% - 100px); 22 min-height: 400px;/*no*/ 23 position: absolute; 24 z-index: 9999; 25 right:10px; 26 top: 100px; 27 } 28 #leftBox{ 29 width:24%; 30 height: calc(100% - 100px); 31 position: absolute; 32 min-height: 400px;/*no*/ 33 z-index: 9999; 34 left:10px; 35 top: 100px; 36 }
本文来自博客园,作者:zwbsoft,转载请注明原文链接:https://www.cnblogs.com/zwbsoft/p/15919247.html
电话微信:13514280351
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南