Sass是CSS3语言的扩展,在CSS的基础之上添加了新特性和语法,能省事地写出更好的样式表。Sass引擎是基于Ruby的。

导入Sass文件:

@import "colors" //colors.scss

注释:

//这种注释不会出现在生成的css文件中
/*这种注释内容会出现在css文件中,当当出现在原生CSS不允许的未知,则这些注释会被抹掉*/

变量>>

-->变量声明 

//注意:变量中下划线和中划线表示同一个变量
$flower-color:#abcdef; //flower-color是一个变量,其值现在是#abcdef
$basic-border:1px solid black; //任何可以用作CSS属性值的赋值都可以作为SASS的变量值
$basic-font:"MyriadPro"、Myriad、"helveticaNuue"、Helvetica;//也可以是逗号分割的多个属性值
//与CSS属性不同,变量可以在CSS会泽块定义之外使用。当变量定义在CSS规则块内,那么该变量只能在其子级规则块内使用。

$nav-color:#dadada;
nav{
$width:100px;
width:$width;
color:$nav-color;
}

-->变量引用

凡是CSS属性的标准值可以存在的地方,变量就可以实用。

$flower-color:red; //变量声明
.flower{ //变量引用
border:1px $flower-color solid;
}

嵌套规则>>

-->基本嵌套规则,和一些编程语言很类似很容易理解,群则选择器的嵌套也和CSS语法一样

//CSS 代码,经常重复写选择器
#content article h1{color:#333}
#contetn article p{margin-bottom:1.5em;}
#cojntent aside{background-color:#eee;} //SASS代码,选择器嵌套
#content{
article{
h1{color:#333}
p{margin-bottom:1.5em}
}
aside{background-color:#eee;}
}

-->父选择器的标识符&

article a{
color:blue;
&:hover{color:red} //必须标识父选择器&,否则SASS无法正常工作
} //CSS 代码
article a{color:blue}
article a:hover{color:red}

-->子组合选择器和同层组合选择器:> + ~

这些选择器必须配合其他选择器实用,以制定浏览器仅选择某种特定上下文中的元素。这些选择器可以应用带Sass的规则嵌套中。

article section{margin:5px;}
//用子组合选择器>选择一个元素的直接子元素
article>section{border:1px red solid}
//同层相邻组合选择器+选择元素紧跟着的元素
header + p {font-size:1.1em}
//同层全体组合选择齐齐~,选择跟在元素后的同层元素,不管他们之间间隔了多少其他元素
article ~ article {border:1px solid red;}

-->嵌套属性

除了选择器,属性也可以进行嵌套。

nav{
border:1px solid #ccc{
left:0px;
right:0px;
}
}

虽然属性和选择器嵌套可以大大减少便血量,但当样式表越来越大,这种写法很难保持结构清晰。而处理大量样式的唯一方法就是分拆成多个文件。

混合器>>

@mixin corners{       //用@mixin标识符定义
-moz-border-radius:5px;
-ms-border-radius:5px;
-webkit-border-radius:5px;;
-o-border-radius:5px;
border-radius:5px;
} .calamus{
border:2px solid red;
@include corners; //用@include调用混合器中的所有样式
} //混合器中不仅可以包含css规则还可以包含属性,也可以嵌套 //混合器可以传递参数
@maxin link-colors($normal,$hover){
color:$normal;
&:hover{color:$hover}
} a{
@include link-colors(blue,red); //参数的传递
}

继承>>

通过 @extend实现

.error{
border:1px solid red;
color:red;
}
.seriousError{
@extend .error; //继承error的属性值
width:300px;
}

Sass基础语法的更多相关文章

  1. sass笔记-2|Sass基础语法之让样式表更具条理性和可读性

    这一篇主要详述保持sass条理性和可读性的3个最基本方法--嵌套.导入和注释. 零. 变量 变量本身的作用是为了保持属性值的可维护性,把所有需要维护的属性值放在同一个地方,快速更改,处处生效,可谓售后 ...

  2. sass笔记-3|Sass基础语法之样式复用和保持简洁

    上一篇详述了Sass如何嵌套.导入和注释这3个基本方式来保持条理性和可读性,这一篇更进一步地阐述sass保持样式复用和简洁的方式--混合器和选择器继承--这两种方式都能复用样式,使用它们也不难,但一定 ...

  3. Sass的使用和基础语法

    sass安装 官网下载ruby的windows安装包,安装时勾选上添加到环境变量add ruby executables to your path.安装完成后打开命令行,ruby -v输出内容则安装完 ...

  4. sass基础编写流程

    这是之前整理在word上的基础流程 sass是Ruby语言开发的一个用于动态编程css文件的框架 所以sass的运行依赖Ruby环境 所以要先安装Ruby 参见详细教程(安装参照慕课网有详细的教程) ...

  5. 前端利器:SASS基础与Compass入门

    SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让css看起来更像是一门语言,这种特性也被称为“cs ...

  6. [转]前端利器:SASS基础与Compass入门

    [转]前端利器:SASS基础与Compass入门 SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让 ...

  7. sass基础—具体编译步骤及对应命令:详细

    /*基础语法*/h1{ color: red;} /*变量定义*/ $color: red; /*嵌套*/body{ header{ } footer{ }} /*mixin函数*/@mixin al ...

  8. Sass 基础教程

    0. Sass 文件后缀名 sass 有两种后缀名文件:一种后缀名为 sass,不使用大括号和分号:另一种就是我们这里使用的 scss 文件,这种和我们平时写的 css 文件格式差不多,使用大括号和分 ...

  9. sass高级语法的补充

    1. 继承 2.混入 3.函数 我这篇博客需要点基础才能看懂, 但我这篇博客是对上一篇的 sass高级语法 的补充 从这方面来看也无所谓了

随机推荐

  1. angular2 的依赖注入

    angular2 的依赖注入包含了太多的内容,其中的一个重点就是注入器,而注入器又非常难理解,今天我们不深入介绍注入器的内容,可以参考官方文档,我们今天来说注入器的层级. 也就是组件获取服务的容器会选 ...

  2. kafka模拟客户端发送、接受消息

    producer   消息的生成者,即发布消息 consumer   消息的消费者,即订阅消息 broker     Kafka以集群的方式运行,可以由一个或多个服务组成,服务即broker zook ...

  3. PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)

    2015-04-01 Created By BaoXinjian

  4. windows下Gulp入门详细教程 &&gulp安装失败的原因(红色)

    以下教程亲自实践可行: 另外添加一个Gulp自动编译.压缩.更新.测试的教程链接:https://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8 ...

  5. 树莓派自身摄像头的opencv调用

    很多人知道,opencv不能直接对树莓派原装摄像头进行调用,因为raspicam不是V4L驱动,怎样才能使用树莓派原装摄像头,它可比多数usb摄像头清晰和小巧. 具体方法,给树莓派原装摄像头安装一个可 ...

  6. 用block响应button的点击事件

    1.继承UIButton : 2.在自己定义的button类中的方法 addTarget:(id)target action:(SEL)action forControlEvents:(UIContr ...

  7. rails4.2.6配置发送邮件

    调试了很久,最后终于可以发送了 1 在config/environments/development.rb文件里配置邮件信息 config.action_mailer.raise_delivery_e ...

  8. 20145305 《Java程序设计》实验四

    Android开发基础 安装过程没有截图 给出安装参考链接 http://ask.android-studio.org/?/article/9 实验结果截图: 完成HelloWorld项目,显示自己的 ...

  9. matplotlib python高级绘图库 一周总结

    matplotlib python高级绘图库 一周总结 官网 http://matplotlib.org/ 是一个python科学作图库,可以快速的生成很多非常专业的图表. 只要你掌握要领,画图将变得 ...

  10. 326.Power of Three

    /* Given an integer, write a function to determine if it is a power of three. Follow up: Could you d ...