首页 文章

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

提问于
浏览
0

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

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

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

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

1 回答

  • 1

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

    我的问题,现在我更清楚地考虑它,类似于询问电视工厂是否有任何办法在我购买之前自动调整电视的设置,根据我的观看偏好 . 显然我所问的是无稽之谈 .

相关问题