scss Mixins使用flexbox进行跨浏览器支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss Mixins使用flexbox进行跨浏览器支持相关的知识,希望对你有一定的参考价值。

@mixin display-flex($direction) {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -ms-flex-direction: $direction;
  -webkit-flex-direction: $direction;
  flex-direction: $direction;
}

@mixin justify-content($value) {
  -ms-flex-pack: ms-justify-content($value);
  -webkit-justify-content: $value;
  justify-content: $value;
}

@mixin flex-wrap($wrap) {
  -ms-flex-wrap: ms-flex-wrap($wrap);
  -webkit-flex-wrap: $wrap;
  flex-wrap: $wrap;
}

@mixin flex-shrink($value) {
  -ms-flex-negative: $value;
  -webkit-flex-shrink: $value;
  flex-shrink: $value;
}

@mixin flex-grow($value) {
  -ms-flex-positive: $value;
  -webkit-flex-grow: $value;
  flex-grow: $value;
}

@mixin align-self($alignment) {
  -ms-flex-item-align: ms-align($alignment);
  -webkit-align-self: $alignment;
  align-self: $alignment;
}

@mixin align-items($alignment) {
  -ms-flex-align: ms-align($alignment);
  -webkit-align-items: $alignment;
  align-items: $alignment;
}

@mixin flex-order($value) {
  -webkit-box-ordinal-group: $value;   /* OLD - iOS 6-, Safari 3.1-6 */
  -moz-box-ordinal-group: $value;      /* OLD - Firefox 19- */
  -ms-flex-order: $value;              /* TWEENER - IE 10 */
  -webkit-order: $value;
  order: $value;
}

@function ms-justify-content($value) {
  @if $value == space-between {
    @return justify;
  }
  @else if $value == space-around {
    @return distribute;
  }
  @else if $value == flex-start {
    @return start;
  }
  @else if $value == initial {
    @return start;
  }
  @else if $value == flex-end {
    @return end;
  }
  @else {
    @return $value;
  }
}

@function ms-flex-wrap($wrap) {
  @if $wrap == nowrap {
    @return none;
  } @else {
    @return $wrap;
  }
}

@function ms-align($alignment) {
  @if $alignment == flex-end {
    @return end;
  } @else if $alignment == flex-start {
    @return start;
  } @else {
    @return $alignment;
  }
}

以上是关于scss Mixins使用flexbox进行跨浏览器支持的主要内容,如果未能解决你的问题,请参考以下文章

scss CSS Flexbox - Sass Mixins

scss CSS Flexbox - Sass Mixins

scss CSS Flexbox - Sass Mixins

使用 ReactJS 的跨浏览器 flexbox 内联样式

scss Mixin用于使用flexbox制作漂亮的水平菜单。那是什么?您希望浏览器支持不支持的糟糕IE版本

scss Mixin用于使用flexbox制作漂亮的水平菜单。那是什么?您希望浏览器支持不支持的糟糕IE版本