数据大屏响应式布局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 }
复制代码

 

posted @   zwbsoft  阅读(1175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示