【问题标题】:Getting the value (but not key) from SASS list variable从 SASS 列表变量中获取值(但不是键)
【发布时间】:2017-08-25 12:59:14
【问题描述】:

我想要一个导航栏,将内容缩放到全局站点媒体查询中定义的当前断点,但我似乎无法正确定位 SASS 列表中的项目。

HTML

<div class="contain-header">
    <header class="top-bar">
        <!--nav here-->
    </header>
</div>

全局设置 (SASS)

$breakpoints: (
  small: 0,
  medium: 640px,
  large: 1024px,
  xlarge: 1200px,
  xxlarge: 1440px,
);

所以当屏幕max-width的1024px

SASS(不工作)

.contain-header {
    .top-bar {
        margin: 0 auto;
        @each $item in $breakpoints {
            @include breakpoint(#{$item}) {
                max-width: #{$item};
            }
        }
    }
}

这会导致编译错误:

警告:breakpoint(): "small 0" 未在您的 $breakpoints 设置中定义。

(对$breakpoints() 中的每个项目重复)

那么我如何调用#{item},以便输出640px(或medium)而不是输出medium 640px?以及如何更改max-width: #{$item}; 以定位$item - 1 的值?

注意我正在使用 Foundation,其中 @include breakpoint(){} 是一个将 css 包装在媒体查询中的 mixin,$breakpoints() 是框架的变量之一 (http://foundation.zurb.com/sites/docs/media-queries.html#sass)。

【问题讨论】:

    标签: sass zurb-foundation zurb-foundation-6


    【解决方案1】:

    尝试使用@each $key, $value in $breakpoints 并省略插值:

    .contain-header {
      .top-bar {
        margin: 0 auto;
        @each $key, $value in $breakpoints {
          @include breakpoint($key) {
            max-width: $value;
          }
        }
      }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多