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. cocos2dx 3.x(精灵的碰撞检测,点击移动与拖动精灵)

    // // MainScene.hpp // helloworld // // Created by apple on 16/9/19. // // #ifndef MainScene_hpp #de ...

  2. iOS - (懒加载)

    今天很坑爹,做界面的时候,tableview 明显做了复用了,数组也做了懒加载了,获取数据前也把数组给清空了,但是每次获取数据刷新表格的时候,数据确重复覆盖了(重复创建),后来给 cell 加了个白色 ...

  3. Java基础之集合框架——在文件中存储地图(TryPhoneBook2)

    控制台程序. import java.io.*; public class Person implements Comparable<Person>, Serializable { // ...

  4. Java基础之写文件——创建通道并且写文件(TryChannel)

    控制台程序,创建一个文件并且使用通道将一些文本写入到这个文件中. import static java.nio.file.StandardOpenOption.*; import java.nio.c ...

  5. CSS For Bar Graphs(maybe old)

    Having a working knowledge of XHTML and CSS when developing applications is a big help in knowing wh ...

  6. Java基础(33):StringBuilder的方法与应用实例(String相关类)

    Java 中的 StringBuilder 类的常用方法 重要的事情说三遍: 在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高 在需要频繁对字符串进行修改 ...

  7. exjs3.2的gridPanel的表头总宽度与列的总宽度不一致的解决方案

    修复之前的bug问题 修复办法,谷歌浏览器中,table的单元格实际宽度=指定宽度+padding,所以只要重写gridview里的一个方法: Ext.override(Ext.grid.GridVi ...

  8. 救火必备linux命令

    系统参数: cat /proc/cpuinfo cpu相关参数 cat /proc/meminfo 内存相关参数 cat /proc/loadavg 负载情况 性能参数: )top M:按内存使用排序 ...

  9. 夺命雷公狗ThinkPHP项目之----企业网站30之网站前台头部导航的高亮显示

    我们这个其实也是最简单的一个,首页高亮,那么我们需要先在中间层里面定义一个index = false: 然后在首页控制器里面定义一个 index = true 最后一步就是 在首页的模版上给一个判断: ...

  10. 超链接点击后不显示hover

    超链接访问过后 hover 样式就不出现了,被点击访问过的超链接样式不在具有 hover 和 active 了 解决方法:改变CSS属性的排列顺序 L-V-H-A a:link {} a:visite ...