本文主要是介绍可视化面板布局适配屏幕-基于 flexible.js + rem 智能大屏适配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
可视化面板布局适配屏幕-基于 flexible.js + rem 智能大屏适配
- VScode 安装cssrem插件
- 引入flexible.js
- 在之后的开发都使用rem为单位,安装cssrem插件就是为了快捷将px转为rem
- 我们的设计稿是1920px,设置最小宽度为1024px,最后,我们可能需要结合一下媒体查询约束屏幕尺寸
VScode 安装cssrem插件
引入flexible.js
- 确认flexible.js是否引入成功,看html标签是否成功设置上了font-size
(function flexible(window, document) {let docEl = document.documentElement;let dpr = window.devicePixelRatio || 1;// adjust body font sizefunction setBodyFontSize() {if (document.body) {document.body.style.fontSize = 12 * dpr + "px";} else {document.addEventListener("DOMContentLoaded", setBodyFontSize);}}setBodyFontSize();// set 1rem = viewWidth / 10function setRemUnit() {// 把屏幕分为24等分let rem = docEl.clientWidth / 24;docEl.style.fontSize = rem + "px";}setRemUnit();// reset rem unit on page resizewindow.addEventListener("resize", setRemUnit);window.addEventListener("pageshow", function(e) {if (e.persisted) {setRemUnit();}});// detect 0.5px supportsif (dpr >= 2) {let fakeBody = document.createElement("body");let testElement = document.createElement("div");testElement.style.border = ".5px solid transparent";fakeBody.appendChild(testElement);docEl.appendChild(fakeBody);if (testElement.offsetHeight === 1) {docEl.classList.add("hairlines");}docEl.removeChild(fakeBody);}
})(window, document);
在之后的开发都使用rem为单位,安装cssrem插件就是为了快捷将px转为rem
我们的设计稿是1920px,设置最小宽度为1024px,最后,我们可能需要结合一下媒体查询约束屏幕尺寸
/* 约束屏幕尺寸 */
// 当屏幕宽度小于1024px时
@media screen and (max-width: 1024px) {html {// 1024/24=42pxfont-size: 42px !important;}
}
// 当屏幕宽度大于1920px时
@media screen and (min-width: 1920px) {html {// 1920/24=80pxfont-size: 80px !important;}
}
这篇关于可视化面板布局适配屏幕-基于 flexible.js + rem 智能大屏适配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!