大屏项目适配做法

基础知识点

1.px和vh分别代表什么

px:px表示像素 (计算机屏幕上的一个点:1px = 1/96in),是绝对单位,不会因为其他元素的尺寸变化而变化;

vh和vh:vm、vh是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。 视窗(Viewport)是你的浏览器实际显示内容的区域,换句话说是你的网页浏览器不包括工具栏和按钮的部分。(vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%),vh:视窗高度的百分比)

2.获取窗口方法

window.innerWidth是JavaScript中的一个属性,它返回浏览器窗口的内部宽度,即不包括滚动条和边框的宽度。

document.documentElement.clientWidth获取当前浏览器窗口的宽度,单位为像素。

document.body.clientWidth用于获取当前页面的可视区域宽度(不包括滚动条)。具体来说,它返回的是 body 元素的 clientWidth 属性值。

import elementResizeDetectorMaker from 'element-resize-detector'
// 定义设计稿的宽高
const designWidth = 1920;
const designHeight = 1080;

// px转vw
export const px2vw = (_px) => {
  return (_px * 100.0) / designWidth + 'vw';
};

export const px2vh = (_px) => {
  return (_px * 100.0) / designHeight + 'vh';
};

export const px2font = (_px) => {
  return (_px * 100.0) / designWidth + 'vw';
};


// Echarts图表字体、间距自适应
export const fitChartSize = (size,defalteWidth = 1920) => {
  let clientWidth = window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
  if (!clientWidth) return size;
  let scale = (clientWidth / defalteWidth);
  return Number((size*scale).toFixed(3));
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值