将 css 文件中所有以 px 为单位的字体大小和行高转换为 em
Convert all font-size and line height in px to em from css file
我有一个 CSS 文件,在这个文件中我们使用了 px
作为单位。由于我们的项目范围发生变化,我们需要使网站在移动设备上响应,因此我们应该将 font-size
和 line-height
转换为 em
我们现在正在手动进行。
是否有任何 sublime 插件或任何其他工具只能将 font-size
和 line-height
转换为 em
,但不包括 padding
等内容?
不一定,但您可以使用 RegEx 查找替换。但这没有考虑尺寸变化。您可以使用 rem-calc()
并假设您的 CSS 格式正确,您可以这样做:
查找:
(font-size: )(\d+(.\d+)?)px
替换:
rem-calc()
试试这个片段:
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, '');
css = css.replace(px + 'px', em + 'em');
}
如果您熟悉 PostCss (https://github.com/postcss/postcss ) you could take advantage of some plugins like https://www.npmjs.com/package/postcss-px-to-em or https://github.com/cuth/postcss-pxtorem
我有一个 CSS 文件,在这个文件中我们使用了 px
作为单位。由于我们的项目范围发生变化,我们需要使网站在移动设备上响应,因此我们应该将 font-size
和 line-height
转换为 em
我们现在正在手动进行。
是否有任何 sublime 插件或任何其他工具只能将 font-size
和 line-height
转换为 em
,但不包括 padding
等内容?
不一定,但您可以使用 RegEx 查找替换。但这没有考虑尺寸变化。您可以使用 rem-calc()
并假设您的 CSS 格式正确,您可以这样做:
查找:
(font-size: )(\d+(.\d+)?)px
替换:
rem-calc()
试试这个片段:
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, '');
css = css.replace(px + 'px', em + 'em');
}
如果您熟悉 PostCss (https://github.com/postcss/postcss ) you could take advantage of some plugins like https://www.npmjs.com/package/postcss-px-to-em or https://github.com/cuth/postcss-pxtorem