• Sass预定义一些常用的样式


    一.编写sass文件时, 目录不能有中文, 如: E:\CPC手机, 会报错
    exception while processing events: incompatible character encodings: GBK and UTF-8?


    二.检测sass目录 

    $ sass --watch sass:styles
    

      

    三.引入外部的scss、使用变量, 如index.scss文件引入base.scss文件, 使用es6 import语法

    @import "./base.scss";
    

    四.语法

    1.变量: $defalutView: 750px;
    2.函数: @function rem($px){
           @return ($px / $defalutView) * 10rem;
         }
    3.混合: @mixin maxWidth($maxWidth:640px){
           max-$maxWidth;
         }
    

    五.Sass预定义一些常用的样式

    1.三角形

    @mixin arrow($direction, $size, $color){
        0;
        height:0;
        line-height:0;
        font-size:0;
        overflow: hidden;
        border-$size;
        @if $direction == top {
            border-style: dashed dashed solid dashed;
            border-color: transparent transparent $color transparent;
            border-top: none;
        }
        @else if $direction == bottom {
            border-style: solid dashed dashed dashed;
            border-color: $color transparent transparent transparent;
            border-bottom: none;
        }
        @else if $direction == right {
            border-style: dashed dashed dashed solid;
            border-color: transparent transparent transparent $color;
            border-right: none;
        }
        @else if $direction == left {
            border-style: dashed solid dashed dashed;
            border-color: transparent $color transparent transparent;
            border-left: none;
        }
    }
    // 调用 @include arrow(top,10px,#F00);
    

      

    2. 圆角

    @mixin border-radius($px:5px){
        -webkit-border-radius:$px;
        -moz-border-radius:$px;
        -o-border-radius:$px;
        border-radius:$px;
    }
    
    @mixin border-radius-circle(){
        border-radius:50%;border-top-left-radius: 999px;border-top-right-radius: 999px;border-bottom-right-radius: 999px; border-bottom-left-radius: 999px; border-radius: 999px;background-clip: padding-box;
    }
    

      

    3.超出的文本省略

    @mixin ell(){
        overflow: hidden;
        -ms-text-overflow: ellipsis;
        text-overflow:ellipsis;
        white-space: nowrap;
    }
    
    @mixin ellMore($lineNumber:2){
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: $lineNumber;
        -webkit-box-orient: vertical;
    }
    

      

    4.关于flex布局

    @mixin flex-box{
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;  
        display: -ms-flex;
        display: flex;
    }
    @mixin flex-1($percent){
        $percent;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -moz-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    @mixin justify-content{
        -webkit-justify-content:space-between;
        justify-content:space-between;
    }
    

      

    5.盒子标准

    @mixin box-sizing {
        -webkit-box-sizing:border-box;
        -moz-box-sizing:border-box;
        -o-box-sizing:border-box;
        box-sizing:border-box;
    }
    

      

    6.绝对居中

    @mixin center($width, $height) {
        position: absolute;
        left:50%;
        top:50%;
        $width;
        height:$height;
        margin:(-$height / 2) 0 0 (-$width / 2);
    }
    

      

    7.设置过渡

    @mixin transition($transition...) {
        -webkit-transition:$transition;
        -moz-transition:$transition;
        -o-transition:$transition;
        transition:$transition;
    }
    // 调用 @include transition(all 0.3s ease)
    

      

    8.动画

    @mixin animation($name) {
        -webkit-animation:$name;
        -moz-animation:$name;
        -o-animation:$name;
        animation:$name;
    }
    // 调用 @include animation(test 1s infinite alternate both)
    

      

    9.设置关键帧

    @mixin keyframes($name) {
        @-webkit-keyframes #{$name} {
            $browser: '-webkit-'; @content;
        }
        @-moz-keyframes #{$name} {
            $browser: '-moz-'; @content;
        }
        @-o-keyframes #{$name} {
            $browser: '-o-'; @content;
        }
        @keyframes #{$name} {
            $browser: ''; @content;
        }
    }
    

      

    10.设置旋转位置

    @mixin transform-origin($origin...) {
        -webkit-transform-origin:$origin;
        -moz-transform-origin:$origin;
        -o-transform-origin:$origin;
        transform-origin:$origin;
    }
    
    @mixin transform($transform...) {
        -webkit-transform:$transform;
        -moz-transform:$transform;
        -o-transform:$transform;
        transform:$transform;
    }
    

      

    11.Sass里for来快速现实对图片的定位

    @for $i from 0 to 17{
        .d-icon-#{$i}{ background-position: -0 -#{+ $i*30}px; }
    }
    
    // css生成
    .d-icon-0 { background-position: 0 -0px; }
    
    .d-icon-1 { background-position: 0 -30px; }
    
    .d-icon-2 { background-position: 0 -60px; }
    
    .d-icon-3 { background-position: 0 -90px; }
    
    .d-icon-4 { background-position: 0 -120px; }
    
    .d-icon-5 { background-position: 0 -150px; }
    
    .d-icon-6 { background-position: 0 -180px; }
    
    .d-icon-7 { background-position: 0 -210px; }
    
    .d-icon-8 { background-position: 0 -240px; }
    
    .d-icon-9 { background-position: 0 -270px; }
    
    .d-icon-10 { background-position: 0 -300px; }
    
    .d-icon-11 { background-position: 0 -330px; }
    
    .d-icon-12 { background-position: 0 -360px; }
    
    .d-icon-13 { background-position: 0 -390px; }
    
    .d-icon-14 { background-position: 0 -420px; }
    
    .d-icon-15 { background-position: 0 -450px; }
    
    .d-icon-16 { background-position: 0 -480px; }
    
  • 相关阅读:
    程序员有哪些发展方向
    Mysql Join语法解析与性能分析
    jQuery过滤性选择器
    jQuery 基础选择器
    CSS布局模型
    CSS 盒子模型
    CSS 的继承、层叠和特殊性
    java 集合框架(一)
    从客户端中检测到有潜在危险的 Request.Form 值
    线程的一些问题
  • 原文地址:https://www.cnblogs.com/alantao/p/8677717.html
Copyright © 2020-2023  润新知