Sass可以在不使用REM的情况下访问浏览器的默认字体大小吗?

时间:2014-12-17 22:35:06

标签: sass

有没有办法从Sass中访问浏览器的默认字体大小设置但不使用REM?

情况:我正在设置Sass函数和mixins,这将让我使用基于rem的垂直基线网格(垂直节奏,如果你愿意的话)。使用REM我可以将我的垂直网格的“单位”设置为浏览器的基本(默认)字体大小的倍数 - 比如x1.5,因为默认值是将应用于HTML标记的内容,从中导出REM。如果用户调整浏览器默认文本大小,则垂直网格将相应缩放,但垂直网格的单个“单位”的垂直高度与浏览器默认值相关联,而不是与特定文本的大小相关联,或者容器元素的字体大小设置,如果我使用ems或无单位行高值可能就是这种情况。这很好。

当然,对于IE的旧版本,我需要设置一个像素后备,这里的问题就在于此。我希望垂直网格的“单位”值与根元素的字体大小相关联,如上所述,但我能看到的唯一方法(如果不支持REM)是明确指定'base'字体大小(例如16px)作为变量。任何其他相对单位(ems,百分比)将从父上下文中获取其值,而不是从根元素中获取。但是一旦我以这种方式指定字体大小,我就会做出一个假设,并且可能会覆盖用户的偏好,这是我不想做的事情。

所以我想知道Sass中是否有命令可以访问或引用浏览器的默认字体大小而不用调用REM单元?

1 个答案:

答案 0 :(得分:1)

我没想到。正如我在上面的评论中所述,这个问题是无效的。 SASS在到达浏览器之前被编译为纯CSS,所以即使编程钩子能够以某种方式提取浏览器的默认设置,也没有用。因为SASS的花哨的,可编程的,编辑前的方面根本不会真正遇到浏览器。只有最终结果纯css才能做到这一点。

我的问题,现在我更清楚地考虑它,就像是问电视工厂是否有办法自动调整电视的设置,在我购买之前 em>,根据我的观看偏好。显然我所要求的是无稽之谈。