sass可以使用变量,采用 $ 来进行变量声明,格式为:

$highlight-color:#f90;(声明方式和css属性声明类似。使用的变量名可以更加语义化)

与js分为全局变量和局部变量类似,sass定义在规则块之外的变量,该变量均可被使用。而定义在规则块之内的变量只能在规则块内部使用,此时,其他规则块声明新的名字相同的变量。
例:
$nav-color:#f90;
nav{
$width:100px;
width:$width;
color:$nav-color;
}
编译后:
nav{
width:100px;
color:#f90;
}

变量值除了被引用外,还可以引用其他变量值;
例:
$highlight-color:#f90'
$highlight-border:11px solid $highlight-color;
.selected{
border:$highlight-border;
}
编译后:
.selecter{
border:1px solid #f90;
}

变量名可以用中划线和下划线,通常用中划线更普遍,两者可以相互兼容。

嵌套:
sass的嵌套功能可以减少很多重复的工作。
例:
#content{
article{
h2{ color:#333}
p{ margin-bottom:1.4em}
}
aside{background-color:#eee}
}
编译后:
#content article h2{color:#333}
#content article p{ margin-bottom:1.4em}
#content aside{background-color:#eee}

如果出现伪类,如 hover:,则需要使用特殊结构&。&有一个替换的功能。
例:
article a{
color:blue;
$:hover{ color:red}
}
编译后
article a{color:blue}
arbicle a :hover{color:blue}

如果没有$,则article内连接的所有子元素在被hover时均变成红色。

$的使用例二:
#content aside {
color:red;
body.ie ${color:green}
}
编译后:
#content aside{color:red}
body.ie #content aside{color:green}

群组选择器也可以进行嵌套。
.container{
h1,h2,h3{margin-bottom: .8em}
}

子组合选择器和同城组合选择器:>、+、~
>:选择一个元素的直接子元素;article>section{border:1px solid #ccc};article的section子元素。
+:选择一个元素后紧跟的某个元素;header+p{fonr-size:1em};header后面紧跟的p与元素。
~:选择一个原色同层的全体某个元素。article~article{border:1px daseed #ccc};article同层的全部article元素。

除了嵌套选择器,sass也可以嵌套属性。
例:nav{
border:{
style:solid;
width:12px'
color:#fff
}
}
例二:
nav{
border:1px solid red{
left:solid;
right:12px'
}
}

@import的在sass的使用:
原声css也可以使用@import,但是是在执行到@import的时候才会加载,速度慢。而sass的在生成css文件的时候就把相关文件导入进来,比较快。
sass中@import的使用方法是:“@import 文件名”
文件可以是sass文件,也可以是scss文件。当需要导入的是css文件时候,为了被认为是原生css中的@import的使用,需要将css文件后缀改为sass或者scss。如果要导入的文件不希望单独生成独立的css
文件,这样的sass文件为局部文件,命名时在文件名前加一个下划线,在引入的时候不用写出下划线和后缀名。

!default的使用:与css中的!important相反,当变量在前面已经被声明过了,在后面引用赋值时出现
!default时,变量值使用之前声明的值,否则使用后面的默认值。

sass的注释方法有两种:
1://(在一行以内,在css中不会出现)
2:/*.....*/(不限制一行,在css中会被看见,若写在大括号里面等不利于sass转化css的地方,在css中
也不会出现)

sass初步认识2的更多相关文章

  1. sass初步认识3

    sass的混合器是对大段的样式代码进行命名,定义为混合器,以便被多次引用.混合器的格式为:“@mixin 样式名称{样式代码}”:调用混合器的格式为:“@include 样式名称”.例:@minin ...

  2. sass初步认识1

    sass是一种“css预处理器”,同类的还有less等,方法类似.css预处理器的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的css文件. 使用sass需要先暗转RUBY,再 ...

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

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

  4. vue-cli + sass 的正确打开方式

    关于在vue-cli搭建的项目中怎么配置sass,网上搜到的基本是这种答案: 但是我认为,直接将样式写在每个单文件的<style>里,是十分不明智的做法.且不说node-sass安装过程的 ...

  5. 初识css预处理器:Sass、LESS

    这篇文章是初步介绍css预处理的,详细学习请移步官网~ 什么是css预处理器 CSS 预处理器是一种语言, 通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式编写,再通过编译器转化为正 ...

  6. sass、less是什么,如何使用?

    一个很好的介绍的SASS,LESS的区别的文档,值get 1.背景介绍 CSS 是一门非程序式语言,没有变量.函数.SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用 ...

  7. nginx配置初步

    nginx配置初步 1,切换至nginx目录,找到配置文件目录 cd /etc/nginx/conf.d 2,拷贝一份conf文件 sudo cp default.conf head.conf 3,进 ...

  8. 前段集成解决方案grunt+yeoman初步认识

    1.什么是前段集成解决方案? 将前端研发领域中各种分散的技术元素集中在一起,并对常见的前端开发问题.不足.缺陷和需求,所提出的一种解决问题的方案 2.yeoman 应用的架构,模型!  相当于一个生成 ...

  9. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

随机推荐

  1. 数据存储之plist、偏好设置

    // 偏好设置--------------------------------- // 存储基本类型数据 NSUserDefaults *defaults = [NSUserDefaults stan ...

  2. mapreduce小结

    (不断更新) MapReduce架构是一种分布式编程架构,它本质上是将任务划分,然后归并.它是以数据为中心的编程架构,相比与分布式计算和并行计算等,它更看重的是吞吐率.它处理的数据是PB级的数据,它并 ...

  3. PostgreSQL wiki

    https://wiki.postgresql.org/wiki/Main_Page https://wiki.postgresql.org/wiki/Converting_from_other_Da ...

  4. PostgreSQL 同步复制(1master+2standby)

    OS: Red Hat Enterprise Linux Server release 6.5 (Santiago) PostgreSQL: postgresql-9.4.5.tar.bz2 mast ...

  5. Leetcode: Flatten Nested List Iterator

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  6. javaIO整理

    写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...

  7. list和set的区别

    list和set的区别 相同点:list,set都是继承自collection接口 不同点: a.list-->元素有放入顺序,元素可重复  set-->元素无放入顺序,元素不可重复 b. ...

  8. gulpfile.js

    文件目录如上: 下载代码地址:https://github.com/lianbinghua/gulptest 切换目录:cd gulp 安装依赖包:npm install 编译文件:gulp或者gul ...

  9. js同步访问后台资源

    $.ajax( {  type : 'post',  url : url,  data : data,  async : false,//false代表只有在等待ajax执行完毕后才执行window. ...

  10. 针对Android 模拟器启动慢的问题

    Android 模拟器一直以运行速度慢著称,可以使用intel HAXM技术为Andorid模拟器加速.使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题. 1. Intel HAXM 是什么 In ...