【问题标题】:how to call a variable inside a class in ionic4?如何在ionic4的类中调用变量?
【发布时间】:2019-06-26 15:06:03
【问题描述】:

是否可以在类中调用 variables.scss 中创建的变量?

我尝试了下面的代码,但不起作用

这是我的 variables.scss:

$test : (
  color: purple,
  font-style: normal,
  font-weight: normal,
  font-size: 13px
  );

这是我的 html(ionic4)


<ion-label class="test">Just testing!</ion-label>
<h1 class="test">Testing again</h1>

我该如何解决这个问题?

【问题讨论】:

  • 我很好奇你为什么不去上课?
  • 避免代码重复
  • 为什么不只创建一个具有这些属性的类,并在需要这些样式时应用该类,而不是在另一个类/选择器中应用这些样式?在您的场景中,css 在编译时会被复制。
  • 这样吗? .test{ $test}

标签: css sass ionic4


【解决方案1】:

你不能从一个类中调用多个样式属性的变量,但是你可以扩展另一个类。

.test {
  color: purple;
  font-style: normal;
  font-weight: normal;
  font-size: 13px;
}

.another {
  @extend .test;
}

Working Prototype

更多信息在这里:https://coderwall.com/p/7p7w2a/when-to-use-sass-mixins-extends-and-variables

【讨论】:

  • 嗯,所以我不能在 sass 变量中存储多个样式并应用于一个类?
【解决方案2】:

经过大量研究,我得出的结论是,最好的解决方法是创建一个 mixin

像这样:

@mixin test{
  color: purple;
  font-style: normal;
  font-weight: normal;
  font-size: 13px;
  }

.test{
  @include test();
}

【讨论】:

  • 你说你想减少重复,但是一个 mixin 复制了它。您使用@include 的每个地方都会将mixin 的完整副本注入到最终的css 中:codepen.io/rtpHarry/pen/zVdVEE -
  • 但是创建一个mixin,我只需要在我需要的地方添加类
  • 好的,但是你让客户端下载更大只是为了在开发端应用快捷方式
  • 我不明白您期望的开发侧快捷方式。你能解释一下吗?此外,要使用 DRY 主体,您应该使用扩展而不是 mixins。 Mixins 在编译时复制它们被调用的每个地方; extends 在编译时创建一个多选器,所以扩展样式只写一次。
猜你喜欢
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2019-12-13
  • 2018-04-01
  • 2023-04-11
  • 1970-01-01
  • 2019-05-19
  • 1970-01-01
相关资源
最近更新 更多