http://sass-lang.com/

Sass是一种CSS预处理器语言,通过编程方式生成CSS代码。因为可编程,所以操控灵活性自由度高,方便实现一些直接编写CSS代码较困难的代码。

同时,因为Sass是生成CSS的语言,所以写出来的Sass文件是不能直接用的,必须经过编译器编译成CSS文件才能使用。

Sass有什么好处?

Sass的主要特性如下:变量、嵌套、导入、混合、继承、运算、函数。这些特性为编写CSS加入编程控制的能力。

如何开始使用Sass

直接使用任何文本或代码编辑器都可以开始编辑Sass代码,要将Sass文件转换为CSS文件,则需使用Sass命令行编译器或桌面集成编译软件。

安装Sass编译器

Sass编译器使用Ruby环境,所以本地安装使用Sass编译器之前需要有Ruby环境,Ruby安装另见...

Ruby环境准备完毕后,使用gem安装Sass:

gem install sass

Sass语法

先分清sass与scss

Sass使用sass和scss这两种后缀名以区分不同的语法格式:

  • sass与普通CSS的语法格式区别较大,其不使用花括号和分号。
  • scss接近普通CSS的语法格式,使用与CSS相同的花括号和分号。

    具体要使用哪种格式,

在sass格式中,取消花括号,改为使用二个空格缩进嵌套;取消分号,以行分隔。

以下sass代码:

#div1
width:50px
height:30px

编译后为如下css代码:

#div1{
width:50px;
height:50px;
}

选择器嵌套

#sample
.span
font-size:12px
font-weight:bold

属性嵌套

带有相同前缀的属性可进行嵌套

#sample
font:
size:12px
weight:bold

变量

$red:#f00
h1
color:$red

函数

.div1
color:darken($red,10%)
background:lighten($red,10%)

表达式

p
color:$red - #101
font-size:$fontsize+10px;

混合

重用代码

使用@mixin关键字定义混合代码,使用@include使用混合代码

@mixin后面是定义混合的名字

@mixin border-radius($amount:5px)
-moz-border-radius:$amount
-webkit-border-radius:$amount
border-radius:$amount
h1
@include border-radius(2px)
.speaker
@include border-radius

没有给出参数,会使用设置的默认值

选择器继承

使用@extend后面跟要继承的选择器

h1
border:4px solid #f00
.speaker
@extend h1
border-width:2px

Sass:一种CSS预处理器语言的更多相关文章

  1. CSS预处理器实践之Sass、Less大比拼[转]

    什么是CSS预处理器? CSS可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难易组织和维护.这时Css预处理器就应运而生了.Cs ...

  2. Css预处理器实践之Sass、Less大比拼

    xwei | 2012-07-07 | 网页重构 什么是CSS预处理器? Css可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难 ...

  3. CSS预处理器实践之Sass、Less比较

    什么是CSS预处理器? CSS可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难易组织和维护.这时Css预处理器就应运而生了.Cs ...

  4. CSS预处理器——Sass、LESS和Stylus实践

    CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...

  5. CSS预处理器—Sass、LESS和Stylus

    http://www.w3cplus.com/css/css-preprocessor-sass-vs-less-stylus-2.html 一.什么是CSS预处器 CSS预处理器定义了一种新的语言, ...

  6. 什么是 CSS 预处理器?

    什么是 CSS 预处理器?  就CSS本身而言,对于大多数Web前端从业人员来说就不是问题.学过CSS的人都知道,它不是一种编程语言.你可以用它开发网页样式,但是没法用它编程.换句话说,CSS基本上是 ...

  7. css预处理器sass使用教程(多图预警)

    css预处理器赋予了css动态语言的特性,如变量.函数.运算.继承.嵌套等,有助于更好地组织管理样式文件,以及更高效地开发项目.css预处理器可以更方便的维护和管理css代码,让整个网页变得更加灵活可 ...

  8. CSS预处理器Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  9. 为您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

随机推荐

  1. java大数总结【转】

    java大数(2013长春网络赛)--hdu4762总结一下:1.java提交类要写Main.2.读取大数. Scanner read=new Scanner(System.in); BigInteg ...

  2. android学习日记17--Gallery(画廊视图)

    一.Gallery 1.简述 Gallery有道翻译为画廊,就叫它画廊控件,主要用来可切换的图片展示,左右滑动可以选择上一张或下一张图片. 个人感觉蛮实用的,不过google貌似不推荐使用啊! 2.常 ...

  3. starling localToGlobal

    o.localToGlobal(new Point());   返回o在舞台的全局坐标... o.parent.localToGlobal(new Point(o.x,o.y))   //返回指定坐标 ...

  4. careercup-中等难度 17.9

    17.9 设计一个方法,找出任意指定单词在一本书中的出现频率. 解法: 1 单次查询 遍历这本书的每个单词,计算给定单词出现的次数.时间复杂度O(n),我们无法继续优化它,因为书中的每个单次都需要访问 ...

  5. java_spring_实例化bean的3种方法

    //Dao类 package com.dao.bean.www; public interface PersonServiceDao { public abstract void save(); } ...

  6. Apache中 RewriteRule 规则参数介绍

    Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.它支持每个完整规则可以拥有不限数量 ...

  7. Java + MongoDB Hello World Example--转载

    原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/ A simple Java + MongoDB hello w ...

  8. Java设计模式08:框架基础知识

    1. 框架是什么 ? 框架是能完成一定功能的半成品软件.(不能直接使用,还需要再加工,所以叫半成品.比如:方便面) 2. 框架能干什么 ? (1)能完成一定的功能,加快程序开发进度. (2)给我们一个 ...

  9. Android_sharePreference_ex1

    xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  10. C语言内存管理

    作用域: 1.代码块儿作用域: 注意的是:这里面{}就代表一个代码块儿,里面的东西是独立的,不可被其他地方访问的. 2.函数作用域 3.文件作用域 先提一下 在当前有一个文件,main.c 还有一个文 ...