热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我可以在Sass中使用多个值吗?-CanIusemultiplevaluesforonepropertyinSass?

Slightlyrelatedtomyquestionhere.这和我的问题有点关系。SayinSass,ifIwishtousemultiplevaluesfo

Slightly related to my question here.

这和我的问题有点关系。

Say in Sass, if I wish to use multiple values for one property, is there a way that I can achieve this using a mixin?

在Sass中,如果我想要为一个属性使用多个值,是否有一种方法可以使用mixin实现它?

NB: I know that my usage of @each is wrong but this helps to illustrate what I'm trying to do.

NB:我知道我使用@each是错误的,但这有助于说明我正在尝试做什么。

So far I have the following

到目前为止,我有如下内容。

@mixin grid-fractions($grid-type, $args) {
  @supports (display:grid) {
    display: grid;    
    #{$grid-type}: @each $args #{$args}fr;
  }
}

It's usage is as follows: @include('grid-template-rows', 2, 1, 1); And I'd like to get the mixin to output something like this:

它的用法如下:@include('grid-template-rows', 2,1,1);我想让mixin输出这样的东西:

@supports (display:grid) {
    display: grid;    
    grid-template-rows: 2fr 1fr 1fr;
  }

I know that $args lets you include multiple values in a mixin but it's obviously not working as I'm probably not using it correctly!

我知道$args让您在mixin中包含多个值,但它显然不能正常工作,因为我可能没有正确地使用它!

1 个解决方案

#1


0  

Why not just @include('grid-template-rows', '2fr 1fr 1fr'); ?

为什么不只是@include('grid-template-rows', '2fr 1fr');吗?

Or

Include a mixin and pass parameters as an arglist. It can be done different ways depending on what you want.

包括一个mixin和传递参数作为一个arglist。它可以通过不同的方式,取决于你想要什么。

  @mixin grid($template-rows:null,$template-cols:null,$template-areas:null){
    @supports (display:grid) {
      display:grid;
      $grid-rows:();
      $grid-cols:();
      $grid-areas:();

      @each $rows in $template-rows{
        $grid-rows: append($grid-rows, #{$rows}fr);
      }
      @each $cols in $template-cols{
        $grid-cols: append($grid-cols, #{$cols}fr);
      }
      @each $areas in $template-areas{
        $grid-areas: append($grid-areas, #{$areas}fr);
      }
      grid-template-rows:#{$grid-rows};
      grid-template-columns:#{$grid-cols};
      grid-template-areas:#{$grid-areas};
    }
  }

 

 

  html{
    @include grid(1 2 3, 4 5 6, 7 8 9 );
  }

 

 

        /*
          // Outputs:
          @supports (display: grid) {
            html {
              display:grid;
              grid-template-rows: 1fr 2fr 3fr;
              grid-template-columns: 4fr 5fr 6fr;
              grid-template-areas: 7fr 8fr 9fr;
            }
          }
        */

推荐阅读
author-avatar
大女人小诺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有