关于sass的@media媒体查询与!global作用域问题

发布于 2022-09-07 21:04:41 字数 503 浏览 16 评论 0

/* 我希望$remUnit这个变量根据不同的条件来重新赋值,所以加了!global来覆盖全局变量 */
/* 但是问题来了:底部的媒体查询条件重新对$remUnit进行赋值,但是,结果总是会被最后执行的给覆盖掉*/
/* 比如这里的102,屏幕保持1024分辨率还没有触发1920媒体查询,但是最后的结果,$remUnit总是会变成最后一个,也就是192 */
/* 疑问: 难道@media媒体查询是会全部触发覆盖的吗 */
/* 期望的结果:根据不同的分辨率(媒体查询)来对变量$remUnit赋不同的值,比如1024我就希望变成102而不是192 */
$remUnit: null !default;
@media screen and (min-width: 1024px) {
  $remUnit: 102 !global;
}
@media screen and (min-width: 1920px) {
  $remUnit: 192 !global;
}
// 输出结果:1024分辨率下和1920分辨率下,$remUnit总是192

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淑女气质 2022-09-14 21:04:41

例子1

Sass编译前

$remUnit: null !default;
@media screen and (min-width: 1024px) {
  $remUnit: 102 !global;
}
@media screen and (min-width: 1920px) {
  $remUnit: 192 !global;
}

body {
  width: $remUnit;
}

编译后

body {
  width: 192;
}

例子2

Sass编译前

$remUnit: null !default;
body {
  @media screen and (min-width: 1024px) {
    $remUnit: 102 !global;
    width: $remUnit;
  }
  @media screen and (min-width: 1920px) {
    $remUnit: 192 !global;
    width: $remUnit;
  }
}

编译后

@media screen and (min-width: 1024px) {
  body {
    width: 102;
  }
}
@media screen and (min-width: 1920px) {
  body {
    width: 192;
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文