如何访问具有多个属性的 SCSS 变量

Posted

技术标签:

【中文标题】如何访问具有多个属性的 SCSS 变量【英文标题】:How to access a SCSS variable with multiple properties 【发布时间】:2020-12-27 01:58:09 【问题描述】:

我正在使用具有多个属性的变量的 SCSS 框架。如何访问和使用这些变量?

我可以将变量与颜色等 CSS 属性一起使用。但其他变量有多个 CSS 属性。如何在我的 SCSS 中使用它?我试过@include 和@extend 但我得到一个错误。

下面是我可以使用的普通变量:

$hover: #e5e5e5,

下面是一个我不知道怎么用的带有multipls css属性的变量。

$heading: (
font-size: 2rem,
font-weight: 400,
line-height: 1rem,
letter-spacing: 0.5px, )

谢谢!

【问题讨论】:

它为你提供了 SASS Mixin ,它就像一个函数,点击这个链接更多细节:sass-lang.com/documentation/at-rules/mixin 【参考方案1】:

这不仅仅是一个常规变量,而是一个映射。结帐:https://sass-lang.com/documentation/values/maps 了解详情。

你可以这样使用它:

font-size: map.get($heading, font-size);

【讨论】:

【参考方案2】:

这就是Extend/Inheritance 正确的方式

%message-shared 
  font-size: 2rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.5px;


.message 
  @extend %message-shared;

【讨论】:

以上是关于如何访问具有多个属性的 SCSS 变量的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个可以操作同一类的多个对象的函数,访问 C++ 中的私有属性?

多个 scss 文件引用一个主样式文件

如何在 calc() 中使用多个变量 Stylus?

具有多个入口点的 Webpack watch() - 为未更改的文件发送捆绑包?

vuejs 在单个文件 vue 组件中具有范围 css 的多个主题

如何声明多个具有相同值的变量