1

我的 scss 文件中有以下内容:

@import compass
$base-font-size: 16px;
$base-line-height: 20px;
$lato: 'Lato, Helvetica, Arial, sans-serif';


html {
  @include establish-baseline($base-font-size);
  font-family: $lato;
}

但是当我检查我的 CSS 时,@include 建立基线规则不输出任何内容,并且我没有得到任何编译错误。有人知道可能出了什么问题吗?

4

2 回答 2

2

主要问题:

在您的情况下,您应该将导入的文件名放在"compass"引号之间:

@import "compass"

如果您只想导入establish-baseline mixin使用:

@import "compass/typography/vertical_rhythm";

一些技巧:

  • 不需要设置$base-font-size: 16px,因为导入的指南针文件带有$base-font-size: 16px !default变量声明
  • 正如@nyuen 所说,您不需要$base-font-size作为参数传递,您应该将其@include establish-baseline移出html。

这是修改后的代码:

// you should use the file name to import between quotes
@import "compass";
// $base-font-size: 16px !default; it's already declared in compass
// $base-font-size: 16px;
$base-line-height: 20px;
$lato: 'Lato, Helvetica, Arial, sans-serif';

// This include should be use out of any selector
@include establish-baseline();

html {
  font-family: $lato;
}
于 2013-12-09T17:25:35.513 回答
1

我也在学习垂直节奏,这是我的建议:

我认为语法应该是“@include 建立基线;” (没有 $base-font-size 参数,因为当您包含建立基线 mixin 时,它会自动查找该参数以及 $base-line-height),您还可以将该行移出 html 选择器在 $base-line-height 声明下。

于 2013-12-08T23:13:32.527 回答