欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

html px转换,pc端px转换为rem针对屏幕分辨率进行页面适配

发布时间:2025/6/15 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 html px转换,pc端px转换为rem针对屏幕分辨率进行页面适配 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

常用的pc端网站适配方案是什么?用的最多的大概就是父元素按照设计图的宽度进行固定宽度,margin:0 auto居中,两边留白。但是有的设计图不适合这样两边留白的适配方案。

最近接手了一个pc端的项目,虽然按照常用的栅格布局+postcss-pxtorem插件对px转换的方法对页面做了适配,使页面无论在pc端打开还是在移动端打开都能自适应,但是在高清分辨率下的页面比如5k高清,布局还是有些乱了,这是因为px转换成rem所依赖的根目录字号没有调整好,于是上网百度了很多方案参考,重新调整了适配方案,但是在移动端打开的时候布局会乱掉,因为px的计算是根据pc端的宽高来计算的

1.删掉html的

删掉这个标签,在移动端打开的时候,布局整体不会乱,但是子元素间距、宽高还是会和设计图有差距

2.下载依赖:npm install --save-dev postcss-pxtorem

在vue.config.js引入依赖:

const pxtorem = require("postcss-pxtorem");//px转换为rem插件

const autoprefixer = require("autoprefixer");//浏览器前缀处理工具

modules.exports={

css: {

loaderOptions: {

postcss: {

plugins: [

pxtorem({

rootValue: 100,

propList: ["*"]

}),

autoprefixer()

]

}

}

}

}

3.我在src/assets/js目录下新建pc.js文件,在main.js里导入这个文件

//pc.js

//设计图纸为1366*798

function pagePc(){

let rootValue = 100;

let pc = rootValue / 1366; // 表示1366的设计图,使用100px的默认值

let width = window.innerWidth; // 当前窗口的宽度

let height = window.innerHeight; // 当前窗口的高度

let rem = "";

let currentHeight = (width * 798) / 1366;

if (height < currentHeight) {

// 当前屏幕高度小于应有的屏幕高度,就需要根据当前屏幕高度重新计算屏幕宽度

width = (height * 1366) / 798;

}

rem = width * pc; // 以默认比例值乘以当前窗口宽度,得到该宽度下的相应font-size值

document.documentElement.style.fontSize = rem + "px";

}

pagePc();

window.onresize = function() {

pagePc();

};

总结

以上是生活随笔为你收集整理的html px转换,pc端px转换为rem针对屏幕分辨率进行页面适配的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。