将 CSS 字体大小/行高存储在 Sass 变量中

发布于 2024-09-01 16:33:04 字数 337 浏览 7 评论 0 原文

有没有办法将 font-size/line-height 存储在 Sass 变量中,如下所示:

$font-normal: 14px/21px;

使用此声明我得到一个部门,如文档中所述。有没有办法避免分裂?
注意:我使用 scss 语法。

Is there a way to store the font-size/line-height in a Sass variable like this:

$font-normal: 14px/21px;

Using this declaration I get a division as described in the documentation. Is there a way to avoid the division?
Note: I use the scss syntax.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤星 2024-09-08 16:33:04

根据 http://sass-lang.com/docs 中的 SCSS 参考/yardoc/file.SASS_REFERENCE.html#division_and_slash 这正是所期望的。尝试将其放入 mixin 中:

@mixin fontandline{
  font: 14px/12px;
}

然后,每当您需要再次使用它时,只需这样编写:

@include fontandline;

请参阅 http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins 了解更多信息。

编辑:
根据最新文档(请参阅上面的链接),

p {
  $font-size: 12px;
  $line-height: 30px;
  font: #{$font-size}/#{$line-height};
}

应将以下代码编译为

p {
  font: 12px/30px;
}

according to the SCSS reference in http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#division_and_slash that is precisely what is expected. try putting it into a mixin:

@mixin fontandline{
  font: 14px/12px;
}

then, whenever you need to use it again, just write it like that:

@include fontandline;

see http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins for more information.

EDIT:
according to latest documentation (see link above) the following code

p {
  $font-size: 12px;
  $line-height: 30px;
  font: #{$font-size}/#{$line-height};
}

should be compiled to

p {
  font: 12px/30px;
}
柠北森屋 2024-09-08 16:33:04

我使用:$somevar: unquote("14px/17px");

I use:$somevar: unquote("14px/17px");

日记撕了你也走了 2024-09-08 16:33:04

要详细说明 @capi-etheriel 的答案:

将其添加到 scss 文件的顶部:

@use "sass:list";

然后将 $font-normal 定义为:

$font-normal: list.slash(14px, 21px);

要使 font: 正常工作,您必须至少添加一种字体-家人:

p {
  font: $font-normal sans-serif;
}

但我想你已经意识到了这一点。

这将在 css 中生成:

p: 14px/21px sans-serif;

To elaborate on @capi-etheriel 's answer:

add this to the top of the scss file:

@use "sass:list";

and than define $font-normal as:

$font-normal: list.slash(14px, 21px);

For font: to work you have to add at minimum a font-family:

p {
  font: $font-normal sans-serif;
}

But I assume you realized that.

This will generate in css:

p: 14px/21px sans-serif;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文