>  Q&A  >  본문

css3 - webstrom有px转rem的插件吗

mac下如何转换单位呢,Sublime是有的?求大神

大家讲道理大家讲道理2764일 전505

모든 응답(1)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-17 11:30:49

    可以使用Nodejs自己写个简单的命令行工具。
    只需要掌握简单的同步file模块、正则表达式就可以了~

    var fs = require("fs")
    
    function format(filePath, keywords) {
        //  同步读取文件内容
        var content = fs.readFileSync(filePath, "utf-8")
    
        var arr = content.split("\n")
    
        var count = 0
    
        for (var i = 0; i < arr.length; i++) {
            var value = arr[i]
            var temp
            temp = value.replace(/(\d+)px/g, function() {
                if (arguments[3].indexOf("@media") != -1 || arguments[3].indexOf("max") != -1 || arguments[3].indexOf("min") != -1) {
                     
                } else if (Number(arguments[1]) > 1) {
                    count++;
                    // 这里可以自己维护换算规则
                    return Number(arguments[1]) / 100 + "rem"
                }
    
                return arguments[0]
            })
    
            if (temp != arr[i]) {
                arr.splice(i + 1, 0, temp)
            }
        }
    
        var result = arr.join("\n")
    
        var formatFilePath = filePath.replace(".", keywords + ".");
    
        fs.writeFile(formatFilePath, result, "utf-8", function(err) {
            if (err) console.log(err)
            console.log("change lines number: " + count)
        })
    }
    
    format("style.css", "_format");

    使用 node app.js (比如你把上面的代码保存成app.js)
    然后就会自动计算同一路径下的style.css将其中的px都计算成rem,你可以在里面自己维护转换规则。

    회신하다
    0
  • 취소회신하다