将现有的Vue UI库单位转换为px



我想知道如何将整个现有单位(em/rem(转换为像素

现在我正在使用Vuesax UI为任何网站/模板制作插件(重叠(

但他们使用的是像rem或em这样的单位。

如何将整个输出单位转换为px容易(任何技巧(?

例如,我想在vue.config.js中放入一些config/plugin

module.exports = {
configureWebpack: {},
css: {},
chainWebpack: config => {}
}

很抱歉,浏览器会实时将remem转换为px,但它们是动态值,与像素不同,在编译过程中无法静态设置。

请记住,rems(因此ems也可以(可能取决于浏览器中设置的用户声明,这意味着如果网站使用rems,它将适应用户在浏览器中设定的字体大小,这绝对是你无法预测或强制执行的。

我见过一些网站在根元素中设置像素字体大小,这样你就可以在任何情况下知道remem的值,但这是一种糟糕的做法,而且你说过你想让你的插件在任何网站/模板上工作,所以我认为这对你来说都不是一个可行的解决方案。

此外,忽略浏览器的字体大小问题,我个人认为ems将很难(或不可能(静态计算,因为当用于字体大小取决于父元素和元素本身时,后者看起来没有太大问题,但前者肯定是。

总而言之,我认为您试图实现的是不可行的,因为从根本上讲,rems、ems和pxs是不同的概念,只能在编译时由css解析系统转换为像素。

最新更新