• mixin


    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;  
    //    200px;  
    //   @include hide-text;  
    //}  
    @mixin hide-text {  
        overflow: hidden;  
        text-indent: -9000px;  
        display: block;  
    }  
      
    //-----------------------------------响应式断点-----------------------------------------  
    //引用例子:  
    //@include breakpoint(large) {  
    //     60%;  
    //}  
    //@include breakpoint(medium) {  
    //     80%;  
    //}  
    //@include breakpoint(small) {  
    //     95%;  
    //}   
    @mixin breakpoint($point) {  
        @if $point==large {  
            @media (min- 64.375em) {  
                @content;  
            }  
        }  
        @else if $point==medium {  
            @media (min- 50em) {  
                @content;  
            }  
        }  
        @else if $point==small {  
            @media (min- 37.5em) {  
                @content;  
            }  
        }  
    }  
      
    //-----------------------------------正三角-----------------------------------------  
    //正三角的通用属性  
    %triangleBase {  
        _font-size: 0;  
        _line-height: 0;  
        _overflow: hidden;  
         0;  
        height: 0;  
          
    }  
      
    //regulaTriangle:正三角(dashed默认透明)  
    //例子:@include regulaTriangle(top,red);  
    @mixin regulaTriangle($derection:bottom, $color: #000, $ 20px) {  
        @extend %triangleBase;  
        border- $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, $ 20px, $opacity:transparent, $border:dashed) {  
        @extend %triangleBase;  
        border- $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;  
        }  
    }
    

    .

  • 相关阅读:
    centos7 rc.local 开机不执行
    springboot与tomcat中GZip压缩
    使用Nginx对Websocket进行反向代理
    spring-data-redis 关于订阅客户端不断创建新线程的问题
    使用apache.tika判断文件类型
    简单理解TCP通信的三次握手
    logback异步输出日志(生产者消费者模型),并非批量写入日志。
    将文本(lrc,txt)文件转换成UTF-8格式
    docker入门(三)
    Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程
  • 原文地址:https://www.cnblogs.com/crazycode2/p/6538136.html
Copyright © 2020-2023  润新知