scss 用于项目Mixin零件的SASS样板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss 用于项目Mixin零件的SASS样板相关的知识,希望对你有一定的参考价值。

// Function to get BASEUNIT related values
// ===================================================================================

@function baseUnit($s: 1) {
  @return round($MAIN-UNIT * $s);
}
// Absolute positioning
// instead of using {position:absolute; top:0; right: 1px; bottom: 2px; left: 3px;}
// use @include pos(0, 1px, 2px, false); -> pos:a+t:0+r:1px+b:2px - false - ignore
// ===================================================================================

@mixin pos($pos: 0) {
  $l: length($pos);
  $top: false;
  $right: false;
  $bottom: false;
  $left: false;
  @if $l==1 {
    $top: nth($pos, 1);
    $right: nth($pos, 1);
    $bottom: nth($pos, 1);
    $left: nth($pos, 1);
  }
  @else if $l==2 {
    $top: nth($pos, 1);
    $right: nth($pos, 2);
    $bottom: nth($pos, 1);
    $left: nth($pos, 2);
  }
  @else if $l==3 {
    $top: nth($pos, 1);
    $right: nth($pos, 2);
    $bottom: nth($pos, 3);
  }
  @else {
    $top: nth($pos, 1);
    $right: nth($pos, 2);
    $bottom: nth($pos, 3);
    $left: nth($pos, 4);
  }
  position: absolute;
  @if $top !=false {
    top: $top;
  }
  @if $right !=false {
    right: $right;
  }
  @if $bottom !=false {
    bottom: $bottom;
  }
  @if $left !=false {
    left: $left;
  }
}
// Placeholder styles
// ===================================================================================

@mixin placeholder {
  &::-moz-placeholder {
    opacity: 1;
    @content;
  }
  &:-ms-input-placeholder {
    @content;
  }
  &::-webkit-input-placeholder {
    @content;
  }
}
// Media responce calls
// Usage
// @include media(980px) { styles } -> max-width 980;
// @include media(980px, true) { styles } -> min-width: 980;
// @include media(480, 980) { styles } -> max 480 min 980
// ===================================================================================

@mixin media($s, $m: true) {
  @if $m==true {
    @media only screen and (min-width: convert-length($s, em)) {
      @content;
    }
  }
  @else if $m==false {
    @media only screen and (max-width: convert-length($s, em)) {
      @content;
    }
  }
  @else {
    @media only screen and (min-width: convert-length($m, em)) and (max-width: convert-length($s, em)) {
      @content;
    }
  }
}
// Hide all text in element
// ===================================================================================

@mixin hide-text($h: true) {
  @if $h {
    font: #{0/0} a;
    text-decoration: none;
    text-shadow: none;
    color: transparent;
  }
  @else {
    font-size: 0;
    line-height: 0;
  }
}
// Ellipsis turncrate
// ===================================================================================

@mixin ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

以上是关于scss 用于项目Mixin零件的SASS样板的主要内容,如果未能解决你的问题,请参考以下文章

scss 方便的sass mixin用于媒体查询

scss Sass mixin用于使表格响应

scss Sass mixin用于快速应用clearfix

scss 流体方面:用于创建固有比率的Sass mixin

scss 用于CSS3动画的Sass Mixin

scss 用于CSS3动画的Sass Mixin