我应该如何定义包含逗号的手写笔哈希值?

问题描述 投票:2回答:2

[我发现我无法使用花括号和冒号语法或方括号和字符串语法来设置Stylus hash值以在其中包含逗号。用"'包裹值将导致这些字符作为值的一部分输出。

目前,我有:

fonts-serif = Georgia, serif
fonts-sans-serif = Helvetica, Arial, sans-serif

fonts = {
    serif: fonts-serif,
    sans-serif: fonts-sans-serif
}

使用这些值:

font-family: fonts.serif

还有更好的方法吗?

variables stylus
2个回答
6
投票

您在这里有两个选择:

a)。您可以在值内转义,

fonts = {
  serif: Georgia\, serif
}

body
  font-family: fonts.serif

b)。您可以使用unquote内置函数并将值包装在引号中:

fonts = {
  serif: "Georgia, serif"
}

body
  font-family: unquote(fonts.serif)

0
投票

[另一种方法可能是制作一个名为font-family的mixin

  font-family(x)
    title   = 'Georgia', 'Times new Roman'
    content = 'helvetica', Arial
    code    = 'JetBrains Mono', 'Fira Code', monospace

    fonts = title content code

    if x in fonts
      font-family x
    else
      error('invalid font-family')

用法:

.some-title
  font-family title

您可能会问为什么这种方法更好?

  • 字体变量现在不暴露于外界
  • 直观用法
  • 如果使用不当,则会出现自定义错误
© www.soinside.com 2019 - 2024. All rights reserved.