CSS文件单位匹配转换

  • 最近在项目中需要将一个全为px单位的css文件转换为rem单位的文件。
  • 写了个函数来互相转化css文件中各种单位
  • 直接上代码
/**
 * css单位倍数转换
 * @text:css字符串
 * @time:转后倍数(0.1 10)
 * @unit:单位
 * @toUnit:转为什么单位(非必传,不传为原单位)*/
function zoomUnit(text, times, unit, toUnit) {
    //匹配所有这个单位
    var unitRe = new RegExp("\\s*(\\d+)*(\\.)*(\\d+)" + unit, "img");
    //转化后单位
    var tranUnit = toUnit || unit;
    //匹配
    return text.replace(unitRe, function (x) {
        var result = x.trim().replace(unit, "");
        result = parseInt((+result) * 10000, 10) * times / 10000;
        return result + tranUnit;
    });
}

调用举例:px转rem

var cssText = `
div{
    position: relative;
    float: left;
    background: #2f3136;
    margin: 0 6px 0 9px;
    padding:0 0 9px 10px;
    width: 120px;
    height: 36px;
    line-height: 36px;
    border-radius: 40px;
}
`
var result = zoomUnit(cssText,0.1,'px','rem');
console.log(result)
  • 输出结果
div{
    position: relative;
    float: left;
    background: #2f3136;
    margin: 0 0.6rem 0 0.9rem ;
    padding:0 0 0.9rem  1rem ;
    width: 12rem ;
    height: 3.6rem ;
    line-height: 3.6rem ;
    border-radius: 4rem ;
}

rem转px

var cssText = `
div {
    position: relative;
    float: left;
    background: #2f3136;
    margin: 0 .6rem 0 .9rem;
    padding: 0 0 0.9rem 1rem;
    width: 12rem;
    height: .6rem;
    line-height: 3.6rem;
    border-radius: 4rem;
}
`
var result = zoomUnit(cssText,100,'rem','px');
console.log(result);
  • 输出结果
div {
    position: relative;
    float: left;
    background: #2f3136;
    margin: 0 60px  0 90px ;
    padding: 0 0 90px  100px ;
    width: 1200px ;
    height: 60px ;
    line-height: 360px ;
    border-radius: 400px ;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,022评论 1 92
  • [目录] Less为什么会出现? 学习Less的网站 Less的安装环境离线的安装方式在线的安装方式 less转化...
    顽皮的雪狐七七阅读 15,702评论 5 42
  • 感恩今天又可以有工作做 感恩早餐吃的很好 感恩昨晚在买东西的时候,我不再像以前那么慌张不知所措,买东西时总是犹犹豫...
    混混小花阅读 163评论 0 0
  • 前段时间写过一个Android自定义View的文章,是高仿的QQ健康,还没有看过的可以去看看,所以一直都计划着在写...
    _SOLID阅读 4,239评论 0 22
  • 数据港盘面不稳,明日如果不能一字板需及时出货 张家港行高位震荡,可以适当关注 新宏泽次新高送转,走势良好 寒锐钴业...
    超哥专用铁球阅读 213评论 0 0

友情链接更多精彩内容