Scss’emCalc()的等价物是什么?
padding: emCalc(24px);
在Scss中将根据视点和缩放级别计算em.是否有更少的内置功能?
解决方法
使用LESS,您可以构建自己的功能.我将此函数与grunt-contrib-less包一起使用.格式与通常较少的函数格式略有不同.请注意,您需要在此包中插入less作为参数.
em: function(less,fontsize,basefontsize){ if (less.functions.functionRegistry.get('ispixel')){ basefontsize = (basefontsize) ? basefontsize.value : 16 return fontsize.value/basefontsize+'em'; } }
.class{ font-size:em(16px); }
哪个会编译到
.class{ font-size:1em; }
注意ems仍然是相对于容器的css.因此,如果换行div的字体大小设置为0.8em,则1em的字体大小不会是16px.
更新:非grunt-contrib-less版本
如果您将此文件放在javascript文件中,该文件包含在较少文件之前的html中,则可以使用上述功能.
$.extend(less.functions,{ em: function(fontsize,basefontsize){ if (this.ispixel(fontsize)){ basefontsize = (basefontsize) ? basefontsize.value : 16 return new(tree.Dimension)(fontsize.value/basefontsize,'em'); } } }