How can I create a calc mixin to pass as an expression to generate tags?

前端 未结 4 555
小蘑菇
小蘑菇 2020-12-13 03:49

I am working on a sass stylesheet in which I wish to use the calc element to dynamically size some content. As the calc element has not been standa

4条回答
  •  暖寄归人
    2020-12-13 04:22

    It would be a basic mixin with an argument, thankfully the expressions are not browser-specific within the supported scope:

    @mixin calc($property, $expression) {
      #{$property}: -webkit-calc(#{$expression});
      #{$property}: calc(#{$expression});
    }
    
    .test {
      @include calc(width, "25% - 1em");
    }
    

    Will render as

    .test {
      width: -webkit-calc(25% - 1em);
      width: calc(25% - 1em);
    }
    

    You may want to include a "default" value for when calc is not supported.

提交回复
热议问题