【问题标题】:SASS/SCSS: Refer to property without using an intermediate variableSASS/SCSS:在不使用中间变量的情况下引用属性
【发布时间】:2015-04-01 13:49:49
【问题描述】:

是否可以在不引入中间变量的情况下引用先前在选择器中定义的属性?

我想说的是:

.foo {
  padding: 15px;
  width: 300px - $padding;
}

我知道 $padding 在语法上寻找一个定义的变量,我只是在上面的例子中使用它来说明我想要在功能上实现什么。

上面的例子等价于:

.foo {
  $padding: 15px;
  padding: $padding;
  width: 300px - $padding * 2;
}

【问题讨论】:

标签: sass


【解决方案1】:

不,你不能,这会很棒。

我还没有测试过,但据我所知,唯一可以做到这一点的 css 预处理器是 stylus。查看其文档中的variable section,其中显示Property Lookup。它是这样工作的:

.foo {
  padding: 15px;
  width: 300px - @padding * 2;
}

但不,就我而言,在 Sass 中你不能。

【讨论】:

  • 这正是我想要的 sass 语法。我怕这是不可能的。是时候提出功能请求了。
  • 我认为,它在某些情况下会非常有用(例如,通过父元素的高度动态移动背景图像位置的混合悬停类)!
  • 在 3.5 中仍然如此?
  • 您可以在手写笔中做到这一点! :)
【解决方案2】:

如果可以选择使用其他预处理器然后是 scss,我真的建议使用 Stylus。有一个名为Property lookup 的功能正是您想要的。

【讨论】:

  • 从什么时候开始适合回答不同技术的问题? “我怎样才能用 MySQL 做 X?” “你不能,但数据库 Y 支持!”
  • 你可能是对的。但由于 SASS 中没有选项可以执行此操作,因此可能是其他读者切换预处理器的选项。
  • 每当在问题的边界内没有可用的解决方案时,我认为提供有关在哪里可以找到所请求的功能的建议是非常公平的。
猜你喜欢
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
  • 2020-07-12
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多