Sass SCSS动态媒体查询创建

Sass SCSS动态媒体查询创建,sass,media-queries,Sass,Media Queries,我正在用SCSS编写一个小型媒体查询框架。我的目标是从列表中动态创建媒体查询。我希望通过循环一个列表并使用@mixin和@include组合它们来实现这一点,这样您就可以基于列表中的每个变量组合@include @mixin pmq($vp){ @if $vp == small{ @media #{$_s} and ($w: $tw_frty){ @content; } } } @include pmq(small){ body{ width

我正在用SCSS编写一个小型媒体查询框架。我的目标是从列表中动态创建媒体查询。我希望通过循环一个列表并使用
@mixin
@include
组合它们来实现这一点,这样您就可以基于列表中的每个变量组合
@include

@mixin pmq($vp){
  @if $vp == small{ 
    @media #{$_s} and ($w: $tw_frty){ 
      @content; 
    }
  }
}
@include pmq(small){
  body{
    width:100%;
  }
}
@each $vp in $viewports{
  @media #{nth($media-types, 8)} and ($vp){
    /**/
  }
}
CSS输出 @媒体屏幕和屏幕(宽度:15em){ 身体{ 宽度:100%; } }

这将根据列表输出一组媒体查询

@mixin pmq($vp){
  @if $vp == small{ 
    @media #{$_s} and ($w: $tw_frty){ 
      @content; 
    }
  }
}
@include pmq(small){
  body{
    width:100%;
  }
}
@each $vp in $viewports{
  @media #{nth($media-types, 8)} and ($vp){
    /**/
  }
}
像这样

@media screen and (120em) {
  /**/
}
@media screen and (105em) {
  /**/
}
@media screen and (90em) {
  /**/
}
and so on... 

我一直在试图找出如何将两者结合起来,这样我就可以创建每个特定的
@include
我不确定是否需要创建一个自定义
@函数来实现这一点。任何有见识的人都将不胜感激。

我不理解这里的问题。动态组合媒体查询的作用是什么,使其不同于编写
@media(minwidth:$small){…}
?是的,您可以编写
@media(minwidth:$small){…}
,我宁愿编写
@media{$variable}{…}
。我的想法是将代码块作为
@content
放在一个列表中,然后循环输出。更新一个列表,循环完成其余的工作。看看我在做什么。请共享您希望得到的CSS代码,然后编写后续评论,以便我们注意到您的更新。首先,坦率地说,为特定视口设计是错误的(请参阅:和)。其次,如果您的mixin正在执行循环并使用
@content
,那么您的所有内容都将应用于每个媒体查询。