SASS基础篇

作者: 三岁麻麻 | 来源:发表于2018-12-23 20:56 被阅读0次

sass的两种语法

.sass 类似ruby的语法
.scss 熟悉的类css语法 css文件改为scss文件只用直接改后缀名
sublime配置下编译会多出一个css.map文件 用来映射css与scss的关系,方便浏览器调试

@charset "UTF-8";//可以省略 默认
@import "variables"; //引入文件
/*
    sass中的@import与css中的@import的区别
    css中  1. @import必须放在代码的最前面 否则不起作用
           2.对性能不利 读到时候才去渲染 
           3.以下四种方式 sass以css模式去引入文件 不做任何处理
                a.引入文件以.css结尾
                b.引入文件以http:开头的字符串
                c.引入文件以url函数开头
                d.引入文件后面带有media queries的时候

    sass中 1. @import可以放再文档的任何地方
           2.重新定义引入方式 先合并再输出
           3.以逗号分隔,引入多个文件 @import "reset,variables";
           3.sass的既定规则
                a.没有文件后缀名的时候 sass会自动添加.scss或者.sass
                b.同一个目录下局部文件和非局部文件不能重名  
 */



body{
    background:#000;
    width:1010%;
}

/* 
   sass变量 通过$定义变量 
   变量通常用专们的文件存储 以下划线命名的局部变量如 _variables 
*/
$text-fff:#fff;
$text-555:#555;
.titone{
    color:$text-fff;
}
.tittwo{
    color:$text-555;
    &:hover{         //&是父类引入
        color:#fff;
    }
    font:{           //sass不仅提供样式嵌套还提供属性嵌套
        family:"微软雅黑";
        size:21px;
    };
}

/* 
    sass支持计算 并且计算可以带单位
*/
.tit3{
    height:(500px/2);

}


/* 
   变量操作
   1.直接操作变量
   2.通过函数 分为两类 (一般放在页面顶部或者另启文件)
        a.跟代码块无关的函数,多是自己的内置函数,称functions
        b.可重用的代码块,
            @include 的方式调用 @mixin
            @extend 的方式调用  class类名
*/

//@minxin
@mixin col-6{
    width:50%;
    color:"#666";
}
.tit4{
    @include col-6();
    &:hover{
        background-color: #555;
    };
}

@mixin col($width:50%){ //不传参 默认50%
    width:$width;
}

.tit5{
    @include col(20%);  
}

/* 
    类样式继承 @extend 
    a.extend 不可以继承选择器序列
    b.使用%,用来构建只用来继承的选择器
 */

.error{
    color:#f00;
}
.impotant{
    font-weight:blod;
}
.error.red{ //.red.serious-error同样会继承这个样式
    font-size:30px;
}

.serious-error{
    @extend .error,.impotant;
    border:1px solid #f00;
}
// ---------------
%a{
    font-size:18px;
}
.b{
    @extend %a; //b继承a,但是a不会被编译
}

//高级语法
@mixin sm-sreen($width:50%){
    @media(min-width: 768px){ //@media在scss中可以嵌套,编译时候才会提到css最外层
        width:$width;
        float: left;
    }

};
.warp{
    @include sm-sreen();
}

/* @at-root指令 明确输出到样式的最外层*/
.warp01{
    background:#555;
    @at-root{
        h1{
            font-size:50px;
        }
        .slogan{
            display: block;
        }
    }
}

/* @mixin进阶 */
@mixin mm_screen($width){
    width:$width;
    @if type-of($width) != number{
        @error "$width必须是一个数值类型,你输入的width是:#{$width}";
    }

};

.warp02{
    @include mm_screen(20%);
}


相关文章

  • sass笔记-4|像写脚本一样写Sass,把能交给Sass办的都

    Sass笔记关于sass的基础部分已经写完,这一篇介绍Sass的高级特性——脚本特性。Sass能做很多事让样式表更...

  • SASS基础篇

    sass的两种语法 .sass 类似ruby的语法.scss 熟悉的类css语法 css文件改为scss文件只用直...

  • CSS 预处理器-Sass高级

    上一篇学完了Sass基础部分,这次要学习的是Sass的高级部分。 条件语句 在Sass中也有条件判断的语句,用法为...

  • sass学习一

    sass基于ruby语言开发而成。 sass和compass sass本身只是一个编译器,compass在它的基础...

  • sass常用记录

    sass常用记录 多写才能记住 基础的语法 还是要记一下用法 安装sass 监听,sass --watch sas...

  • sass基础

    一、相关网站地址 Sass官网:http://sass-lang.com/;Sass中文网:https://www...

  • Sass基础

    Sass is the most mature, stable, and powerful professiona...

  • Sass 基础

    1、SCSS 是 Sass 的新语法格式,从外形上来判断他和 CSS 长得几乎是一模一样,代码都包裹在一对大括号里...

  • Sass基础

    在前端开发中,类似Less,Sass这样的预处理器,变得越来越常见,由于CSS发展的制约,使得CSS开发时,当代码...

  • Sass 基础

    Sass、Scss、Css关系介绍 Sass是基于ruby的一种CSS预处理语言(可以理解成一种能生成CSS,而且...

网友评论

    本文标题:SASS基础篇

    本文链接:https://www.haomeiwen.com/subject/vuwykqtx.html