scss 垂直和水平对齐SASS mixin

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss 垂直和水平对齐SASS mixin相关的知识,希望对你有一定的参考价值。

/*
  EX: 
  .container{
    @include vertical-align(".container-content");
  }
*/
@mixin vertical-align($content: null, $content-height: auto, $container-height: null) {
    display: table;

    @if $container-height != null {
        height: $container-height;
    }

    #{$content} {
        display: table-cell;
        vertical-align: middle;
        height: $content-height;
    }
}

// directly from jeet.gs (https://github.com/mojotech/jeet)
// horizontal and vertical
// EX: @include align(vertical);
@mixin align($direction: both) {
  position: absolute;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;

  @if index("horizontal" "h", $direction) {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  } @else if index("vertical" "v", $direction) {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  } @else if index("none", $direction) {
    top: auto;
    left: auto;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
  } @else {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}

以上是关于scss 垂直和水平对齐SASS mixin的主要内容,如果未能解决你的问题,请参考以下文章

scss 垂直/水平中心显示表https://css-tricks.com/snippets/sass/centering-mixin/

scss Flexbox SASS Mixin:7。对齐项目

scss 通过@content垂直对齐显示表/ table-cell mixin

scss SASS:垂直对齐

text 只需一行SCSS就可以垂直和水平对齐或只是垂直对齐,它同时支持两者。

text 只需一行SCSS就可以垂直和水平对齐或只是垂直对齐,它同时支持两者。