博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mixin
阅读量:6867 次
发布时间:2019-06-26

本文共 9728 字,大约阅读时间需要 32 分钟。

mixin.scss

//-----------------------------------浏览器前缀-----------------------------------------  //例子:@include css3(transition, 0.5s);  @mixin css3($property, $value) {      @each $prefix in -webkit-,      -moz-,      -ms-,      -o-,      '' {          #{$prefix}#{$property}: $value;      }  }    //-----------------------------------Retina图片-----------------------------------------  @mixin image-2x($image, $width, $height) {      @media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {          /* on retina, use image that's scaled by 2 */          background-image: url($image);          background-size: $width $height;      }  }    //-----------------------------------清除浮动-----------------------------------------  //引用例子:@include clearfix();  @mixin clearfix() {      &:before,      &:after {          content: "";          display: table;      }      &:after {          clear: both;      }  }    //-----------------------------------Black和White-----------------------------------------  //特别声明,上面这个不属于Sass的Mixins范畴,是Sass的自定义函数功能。  //background:black(0.15);  //color:white(0.9);}  @function black($opacity) {      @return rgba(0, 0, 0, $opacity)  }    @function white($opacity) {      @return rgba(255, 255, 255, $opacity)  }    //-----------------------------------内阴影和外阴影-----------------------------------------  //引用例子:@include box-emboss(0.8, 0.05);  @mixin box-emboss($opacity, $opacity2) {      box-shadow: white($opacity) 0 1px 0, inset black($opacity2) 0 1px 0;  }        //-----------------------------------行高-----------------------------------------  //引用例子:@include line-height (16);  @mixin line-height($heightValue: 12) {      line-height: $heightValue + px; //fallback for old browsers      line-height: (0.125 * $heightValue) + rem;  }    //-----------------------------------隐藏文字-----------------------------------------  //引用例子:  //.logo{  //    background: url("logo.png");  //    height:100px;  //    width:200px;  //   @include hide-text;  //}  @mixin hide-text {      overflow: hidden;      text-indent: -9000px;      display: block;  }    //-----------------------------------响应式断点-----------------------------------------  //引用例子:  //@include breakpoint(large) {  //    width: 60%;  //}  //@include breakpoint(medium) {  //    width: 80%;  //}  //@include breakpoint(small) {  //    width: 95%;  //}   @mixin breakpoint($point) {      @if $point==large {          @media (min-width: 64.375em) {              @content;          }      }      @else if $point==medium {          @media (min-width: 50em) {              @content;          }      }      @else if $point==small {          @media (min-width: 37.5em) {              @content;          }      }  }    //-----------------------------------正三角-----------------------------------------  //正三角的通用属性  %triangleBase {      _font-size: 0;      _line-height: 0;      _overflow: hidden;      width: 0;      height: 0;        }    //regulaTriangle:正三角(dashed默认透明)  //例子:@include regulaTriangle(top,red);  @mixin regulaTriangle($derection:bottom, $color: #000, $width: 20px) {      @extend %triangleBase;      border-width: $width;      //向右      @if $derection==right {          border-style: dashed dashed dashed solid;          border-color: transparent transparent transparent $color;      }      //向左      @if $derection==left {          border-style: dashed solid dashed dashed;          border-color: transparent $color transparent transparent;      }      //向上      @if $derection==top {          border-style: dashed dashed solid dashed;          border-color: transparent transparent $color transparent;      }      //向下      @if $derection==bottom {          border-style: solid dashed dashed dashed;          border-color: $color transparent transparent transparent;      }  }    //-----------------------------------直角三角形-----------------------------------------  //right-angledTriangle:直角三角形  //例子:@include right-angledTriangle(1,red);  @mixin right-angledTriangle ($derection:1, $color:#000, $width: 20px, $opacity:transparent, $border:dashed) {      @extend %triangleBase;      border-width: $width;      //向右      @if $derection==1 {          border-style: $border dashed dashed $border;          border-color: $color $opacity $opacity $color;      }      //向右      @if $derection==2 {          border-style: $border $border dashed dashed;          border-color: $color $color $opacity $opacity;      }      //向右      @if $derection==3 {          border-style: dashed $border $border dashed;          border-color: $opacity $color $color $opacity;      }      //向右      @if $derection==4 {          border-style: dashed dashed $border $border;          border-color: $opacity $opacity $color $color;      }  }    //-----------------------------------圆角-----------------------------------------  //radius:圆角  //例子:@include radius(24,100%);  @mixin radius($num:1234, $size: 5px) {      @if $num==1234 {          -webkit-border-radius: $size; //Saf3+, Chrome          -moz-border-radius: $size; //FF1+          border-radius: $size; //Opera 10.5, IE 9          -ms-border-radius: $size;      }      @if $num==12 {          -webkit-border-top-left-radius: $size;          border-top-left-radius: $size;          -webkit-border-top-right-radius: $size;          border-top-right-radius: $size;          -moz-border-top-left-radius: $size;          -ms-border-top-left-radius: $size;          -moz-border-top-right-radius: $size;          -ms-border-top-right-radius: $size;      }      @if $num==23 {          -webkit-border-top-right-radius: $size;          border-top-right-radius: $size;          -webkit-border-bottom-right-radius: $size;          border-bottom-right-radius: $size;          -moz-border-top-right-radius: $size;          -moz-border-bottom-right-radius: $size;          -ms-border-top-right-radius: $size;          -ms-border-bottom-right-radius: $size;      }      @if $num==34 {          -webkit-border-bottom-right-radius: $size;          border-bottom-right-radius: $size;          -webkit-border-bottom-left-radius: $size;          border-bottom-left-radius: $size;          -moz-border-bottom-left-radius: $size;          -moz-border-bottom-right-radius: $size;          -ms-border-bottom-left-radius: $size;          -ms-border-bottom-right-radius: $size;      }      @if $num==14 {          -webkit-border-top-left-radius: $size;          border-top-left-radius: $size;          -webkit-border-bottom-left-radius: $size;          border-bottom-left-radius: $size;          -moz-border-top-left-radius: $size;          -moz-border-bottom-left-radius: $size;          -ms-border-top-left-radius: $size;          -ms-border-bottom-left-radius: $size;      }      @if $num==13 {          -webkit-border-top-left-radius: $size;          -webkit-border-bottom-right-radius: $size;          -ms-border-top-left-radius: $size;          -ms-border-bottom-right-radius: $size;          border-top-left-radiu: $size;          -moz-border-top-left-radius: $size;          border-bottom-right-radiu: $size;          -moz-border-bottom-right-radius: $size;      }      @if $num==24 {          -webkit-border-top-right-radius: $size;          border-top-right-radius: $size;          -webkit-border-bottom-left-radius: $size;          border-bottom-left-radius: $size;          -moz-border-top-right-radius: $size;          -moz-border-bottom-left-radius: $size;          -ms-border-top-right-radius: $size;          -ms-border-bottom-left-radius: $size;      }  }    //-----------------------------------边框阴影-----------------------------------------  //boxshadow:边框阴影  //例子:@include boxshadow(24,100%);  @mixin boxshadow($x: 3px, $y: 3px, $shadowcolor: #cccccc) {      -moz-box-shadow: $x $y 4px $shadowcolor; // FF3.5+       -webkit-box-shadow: $x $y 4px $shadowcolor; // Saf3.0+, Chrome       box-shadow: $x $y 4px $shadowcolor; // Opera 10.5, IE 9.0       filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=#{$x}, OffY=#{$y}, Color='#{$shadowcolor}');      /* IE6,IE7 */      -ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=#{$x}, OffY=#{$y}, Color='#{$shadowcolor}')";      /* IE8 */  }    //-----------------------------------透明度-----------------------------------------  //myOpacity:透明度  //例子:@include myOpacity(0.3,93,197,16);  @mixin myOpacity($opacity:0.5, $r:0, $g:0, $b:0) {      $xx: $opacity * 100;      filter: alpha(opacity=$xx);      background-color: rgba($r, $g, $b, $opacity); // rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,而rgba()只作用于元素的颜色或其背景色.两种都不被IE支持(IE9开始支持)      //如果要兼容ie文字不透明,需要用元素把文字包裹起来,然后色值position:relative或者absolute。      //opacity: $opacity;//opacity属性是css3的属性,也可以实现透明效果,跟background-color: rgba同样效果。      }      //-----------------------------------透明度-----------------------------------------  //引用例子:@include opacity(0.8);  @mixin opacity($opacity) {      opacity: $opacity;      $opacity-ie: $opacity * 100;      filter: alpha(opacity=$opacity-ie); //IE8  }  //-----------------------------------动画keyframes生成-----------------------------------------  //动画keyframes生成  //例子:@include keyframes(动画名称);  //@include keyframes(move-the-object) {  //    0% {  //        transform: translateX(0);  //    }  //    100% {  //        transform: translateX(200px);  //    }  //}  @mixin keyframes($animationName) {      @-webkit-keyframes #{$animationName} {          @content;      }      @-moz-keyframes #{$animationName} {          @content;      }      @-o-keyframes #{$animationName} {          @content;      }      @keyframes #{$animationName} {          @content;      }  }

.

转载于:https://www.cnblogs.com/crazycode2/p/6538136.html

你可能感兴趣的文章
position
查看>>
ios内存管理(转)
查看>>
Unity 屏幕外死亡的敌人的分数显示在屏幕内
查看>>
整理网上的关于 路径遍历漏洞
查看>>
H5 离线缓存的用法
查看>>
我们为什么需要Windows Workflow Foundation?(摘)
查看>>
五笔打字学习
查看>>
vector
查看>>
printf("%d\n",printf("%d",printf("%d",i)));
查看>>
最小转弯问题
查看>>
Java线程(一)
查看>>
JQuery的几个小问题
查看>>
hover带有动画效果的导航
查看>>
post提交表单
查看>>
Google maps API开发(二)(转)
查看>>
springcloud eureka注册中心搭建
查看>>
ABP中针对sql2008的数据库配置
查看>>
android--对话框
查看>>
springmvc web.xml配置之 -- ContextLoaderListener
查看>>
JS案例 - 基于vue的移动端长按手势
查看>>