将px中的所有字体大小和行高转换为来自css文件的em

时间:2015-08-11 07:19:05

标签: jquery css html5 sass sublimetext2

我有一个CSS文件,在这里我们使用px作为单位。由于我们的项目范围发生变化,我们需要在移动设备上对网站做出响应,因此我们应该将font-sizeline-height转换为em,我们现在正在手动执行此操作。

是否有任何sublime插件或任何其他工具仅将font-sizeline-height转换为em,而不包括padding等内容?

3 个答案:

答案 0 :(得分:2)

不是,但你可以使用RegEx find-replace。但这并未考虑尺寸变化。您可以使用rem-calc()并假设您的CSS格式正确,您可以执行以下操作:

查找

(font-size: )(\d+(.\d+)?)px

替换:

${1}rem-calc(${2})

答案 1 :(得分:1)

试试这个代码段:

var regFindPX = new RegExp('(\\d+)px','g');
var reg3decPoints = new RegExp('(\.\\d{3}).*', '');

var css = 'css code';
var result;
while ((result = regFindPX.exec(css)) !== null) {
    var px = parseInt(result[1]);
    var em = px / 16;
    em = em.toString().replace(reg3decPoints, '$1');
    css = css.replace(px + 'px', em + 'em'); 

}

答案 2 :(得分:-1)