这几天白老师叫我们css的扩展技术,有什么LESS,还有SASS(我还以为是SAS...QAQ),LESS由于功能比较简单,用的也比较少所以我们重点学习了SASS.简单地说SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。SASS扩展了CSS3,增加了规则、变量、混入、选择器、继承等等特性。SASS 生成良好格式化的 CSS 代码,易于组织和维护。

   SASS让我们能够像JS一样来编写CSS,说起来也是方便我们的代码书写,然而我并没有感觉到方便啊!可能是还没习惯吧...既然说到了SASS,就不能不提一下koala工具,安装方法就是下一步,下一步...安装完成之后,把你css所在的文件夹拖入koala即可(注意是文件夹),刷新一下,然后再文件夹内新建后缀名为.scss的文件(为什么不是.sass呢?因为scss文件更符合我们日常的书写习惯,有助于上手.而sass文件在书写时,少了冒号和花括号,总觉得少了什么,当然不排除什么大神喜欢这么干!),新建完成后,就可以写代码了,写完了编译一下会生成.css文件和.map文件,至于.map文件不用管了,反正浏览器只认识.css文件.

  1.引入文件:@import;

  例如:@import "b";注意这里的b文件指的是.sass文件或是scss文件,不用写后缀;而如果是css文件的话,就要写后缀名了;

  2.定义变量:$;

  例如$color:red !default;    (这里的default是指默认值);

    $direct:top;

  好了我们就可以开始使用了:

  p{

    color: $color;//red;

    .border-top: 1px solid red; //我们可以写成.border-#{$direct}: 1px solid red;

  }

  是不是很方便,可能现在看起来很繁琐,但是代码多起来的时候,我们会遇到很多重复的代码,我们就可以用变量来替换.当我们需要修改的时候,就不用一一去找对应的选择器再去修改其中对应的数值了;

  3.我们还可以用到函数.比如:

  //数组

  $num:1px 2px 3px 4px;

  margin:nth($num,1);//即表示margin:1px;

  //键值对

  $map:(a1:1em,a2:23em,a3:20em);

  width:map-get($map,a1);//即是取得a1键的值;

  4.嵌套

  嵌套我们平时其实就在使用;比如div下边的所有p元素,我们可以写作:div p{}

  div{

    width:100px;

    height:100px;  

    p{

      font-size:100px;

    }

  }//当然还有属性的嵌套由于使用较少,没栗子;

  5.混合封装

  @mixin wh{
     width:100px;  

     height:10px;

  }

  //可以传入参数

  @mixin whb($w,$h){

    width:$w;

    height:$h;

  }

  在引入时只需要写:@include wh(100px,200px);即可;

  6.继承.如果我们使用的重复的内容有参数我们就用混合,没有就用继承

  h1{

    font-size:20px;

    font-weight:bold;

  }

  .my{

    @extend h1;  //即表示继承h1的属性;

  7.判断(很强大吧)

  $it7:false;

  p{

    @if($it7){

      zoom:1;

    }

    @else{

      overflow:hidden;

    }

  等等...

  实在是太强,学习中,还不能体会其中的精妙之处...好了;

   

    

    

学习SASS的更多相关文章

  1. 学习Sass之安装Sass(一)

    为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开 ...

  2. 学习Sass之安装Sass

    学习Sass之安装Sass 为什么使用Sass 作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE ...

  3. 学习Sass(一)

    一.什么是sass? 写过css的都知道,css是用来改变页面样式的.但它不是一种编程语言,没有变量,函数,继承等功能,只能一条条抒写样式语句很死板.在这个工具决定效率的时代,这是不能容忍的事情.怎样 ...

  4. 对比学习sass和stylus的常用功能

    在众多的css预处理器语言中,sass和stylus算是十分优秀的两个.本文主要针对两者的常用功能做个简单的对比分析.在对比中了解二者的差异,同时帮助大家更好的掌握这两种预处理语言.本文涉及到的sas ...

  5. 学习Sass 的基本语法规则[Sass和compass学习笔记]

    自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另外一个给我的感觉像.NET Framework,一切都为了提升开发效率和降低开发大型web的门槛. ...

  6. 学习Sass(二)

    前面简单介绍了sass的安装,特点和使用方法等,这里记录下sass的基本语法. 1.变量 2.运算 3.嵌套 4.代码复用 5.高级语法 6.自定义函数 一.变量 变量以$开始,像css属性那样赋值, ...

  7. 学习Sass之安装篇

    Sass是基于ruby开发的,所以想要用Sass要先搭建ruby环境 1 Mac下安装 2 windows下安装 3 下载koala,只需要下载这个软件,其余什么都不需要你安装

  8. 学习Sass笔记之概念篇

    1 什么是CSS预处理器 首先我们了解一下什么是CSS预处理器:通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用.CSS 预 ...

  9. compass General 常用api学习[Sass和compass学习笔记]

    compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...

随机推荐

  1. 修正zen cart商品评论显示太短的问题

    找到includes\modules\pages\product_reviews\header_php.php $reviews_query_raw = “SELECT r.reviews_id, l ...

  2. 多线程-生产者消费者(lock同步)

    二.采用Lock锁以及await和signal方法是实现 import java.io.IOException; import java.util.concurrent.locks.Condition ...

  3. 开始PHP,常量/变量与内存间的关系--传值

    一.常见的PHP代码嵌入式方式,与html结合 要注意:文件名后缀必须形如xxx.php否则html将无法解析 二.php脱离html代码独立工作,没有其他代码 不需要借助Apache工作,只需要ph ...

  4. 软件测试课程--安装QTP后java环境变量冲突

    很多学习性能测试的朋友们都会有这样的问题,安装QuickTest Professional11之后,类似于eclipse.pycharm打开弹出报错窗口,命令行(CMD)也无法正常显示javac.ja ...

  5. 【Linux学习一】命令行CLI、BASH的基本操作

    ●操作系统的基本结构 操作系统的基本结构通过Kernel(内核)和Shell(壳)构成.常见的Shell分为GUI和CLI GUI 图形方面的shell ------〉windows .mac osC ...

  6. wget下载与tar压缩/解压

    目录 wget命令 下载整个网站 压缩与解压 小节 wget命令 Usage: wget [OPTION]... [URL]... # 后台运行 -b, --background go to back ...

  7. k8s-insight测试

    eureka apiVersion: v1 kind: Pod metadata: name: eureka labels: ccb: eureka spec: containers: - name: ...

  8. 在$scope中变量和方法的使用

    代码: angularjs.html <!doctype html> <html> <head> <meta charset="UTF-8" ...

  9. MCMC & 贝叶斯

    用MCMC做参数估计

  10. JS框架_(JQuery.js)纯css3进度条动画

    百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...