如何用px后退制作Compass Vertical Rhythm输出Rems而不是Ems?

时间:2013-08-25 21:45:39

标签: html css sass compass-sass mixins

我想这样做:http://www.youtube.com/watch?v=ls3Clk-kz3s但输出rems(带px后备)而不是ems。

显然这个https://github.com/chriseppstein/compass/pull/896被添加到罗盘中并且应该以某种方式工作,但我不能从http://compass-style.org/reference/compass/typography/vertical_rhythm/到我的.scss -file获得我需要的东西。

如果我只是将https://gist.github.com/ry5n/2026666中的代码作为mixin(即使没有Compass),也可以使用:

@include set-font-size()

而不是:

@include adjust-font-size-to()

它可以很好地处理rem值和px后退。

但是,如果我只是尝试使用Compass并使用

$font-unit: 1rem;
$relative-font-sizing: false;

虽然有效,但没有px后备。

如果有人可以将Vertical Rhythm所需的完整.scss代码与Rems一起使用,我非常感激。

为什么我需要$ relative-font-sizing:false如果我使用Rems? 另外,除了将文本添加到这样的网格之外,还有一些关于垂直节奏的竞争哲学吗?您更喜欢哪一个?工作流程是什么?

非常感谢你。

1 个答案:

答案 0 :(得分:5)

目前,Compass的这些更新仍保留在预发布的gem中,而且在compass-style.org(甚至beta.compass-style.org)上尚未提供匹配的文档。要使用新功能,请安装最新的gem(0.13.alpha.4):

gem install compass --pre

使用新的gem,垂直节奏API略有不同,主要在其可配置变量中,按https://github.com/chriseppstein/compass/pull/896。简而言之,设置基本字体大小和行高,并将新的$ rhythm-unit变量设置为rem

$base-font-size: 16px;
$base-line-height: 24px;
$rhythm-unit: 'rem';

$ rhythm-unit变量替换$ font-unit,$ relative-font-sizing现在是一个私人的,内部的东西你不需要担心。

在此之后,所有正常的垂直节奏mixins将输出带回退的rems(除非你明确地将$ rem-with-px-fallback设置为false)。请注意,API的其余部分几乎完全相同,但rhythm mixin除外,它现在具有更明智的默认参数。 original pull request中详细介绍了一些补充内容。

有一点要记住,节奏功能不能提供像素回退,因为它们只是返回一个值。