【问题标题】:How can I get responsive classes with this mixin如何使用此 mixin 获得响应式课程
【发布时间】:2018-09-09 17:41:52
【问题描述】:

当我使用 mixin 时,我的 sass 文件看起来像这样:

$viewports: 25 50 75 100;
@each $viewport in $viewports {
  .vh-#{$viewport} {
    height: #{$viewport}vh;
  }
}

.vh-25 {
  height: 25vh;
}
...

但我想要那个类和带有@sm、@md、...的类 我可以用 sass 做到这一点吗?

@media (min-width: 576px) and (max-width: 767px) {
  .vh-25@sm {
    height: 25vh;
  }
}

【问题讨论】:

  • 然后将您的$viewports 设为map

标签: sass mixins scss-mixins


【解决方案1】:

@不允许在类名中,但如果你想用-替换它:

$viewports: (
  xs: 25,
  sm: 50,
  md: 75,
  xl: 100,
);

@each $viewport, $height in $viewports {
  .vh-#{$height}-#{$viewport} {
    height: #{$height}vh;
  }
}

【讨论】:

  • 有没有一种好方法可以在 @media (min-width: 576px) and (max-width: 767px) {…} 中获取该 mixin 而无需将 mixin 放在媒体查询之间?
  • 没关系,我找到了解决方案。谢谢你的回答
猜你喜欢
  • 2013-06-13
  • 1970-01-01
  • 2011-04-17
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 2014-08-13
  • 2018-03-17
相关资源
最近更新 更多