Sass基础语法
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基础语法的更多相关文章
- sass笔记-2|Sass基础语法之让样式表更具条理性和可读性
这一篇主要详述保持sass条理性和可读性的3个最基本方法--嵌套.导入和注释. 零. 变量 变量本身的作用是为了保持属性值的可维护性,把所有需要维护的属性值放在同一个地方,快速更改,处处生效,可谓售后 ...
- sass笔记-3|Sass基础语法之样式复用和保持简洁
上一篇详述了Sass如何嵌套.导入和注释这3个基本方式来保持条理性和可读性,这一篇更进一步地阐述sass保持样式复用和简洁的方式--混合器和选择器继承--这两种方式都能复用样式,使用它们也不难,但一定 ...
- Sass的使用和基础语法
sass安装 官网下载ruby的windows安装包,安装时勾选上添加到环境变量add ruby executables to your path.安装完成后打开命令行,ruby -v输出内容则安装完 ...
- sass基础编写流程
这是之前整理在word上的基础流程 sass是Ruby语言开发的一个用于动态编程css文件的框架 所以sass的运行依赖Ruby环境 所以要先安装Ruby 参见详细教程(安装参照慕课网有详细的教程) ...
- 前端利器:SASS基础与Compass入门
SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让css看起来更像是一门语言,这种特性也被称为“cs ...
- [转]前端利器:SASS基础与Compass入门
[转]前端利器:SASS基础与Compass入门 SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让 ...
- sass基础—具体编译步骤及对应命令:详细
/*基础语法*/h1{ color: red;} /*变量定义*/ $color: red; /*嵌套*/body{ header{ } footer{ }} /*mixin函数*/@mixin al ...
- Sass 基础教程
0. Sass 文件后缀名 sass 有两种后缀名文件:一种后缀名为 sass,不使用大括号和分号:另一种就是我们这里使用的 scss 文件,这种和我们平时写的 css 文件格式差不多,使用大括号和分 ...
- sass高级语法的补充
1. 继承 2.混入 3.函数 我这篇博客需要点基础才能看懂, 但我这篇博客是对上一篇的 sass高级语法 的补充 从这方面来看也无所谓了
随机推荐
- SecureCRT自动登录
- Authentication token manipulation error for ubuntu ubuntu-16.04.1-desktop-amd64
https://ubuntuforums.org/showthread.php?t=1772894 Hi, I faced the same problem when I tried to recov ...
- DBA_Oracle Sort排序处理空间耗用(概念)
2014-12-18 Created By BaoXinjian
- linux 命令(1)screen
一.screen的安装和用法 Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用. Screen中有会话的概念,用户可以在一个s ...
- 冲突--ListView与ScrollView冲突的4种解决方案
众所周知ListView与ScrollView都具有滚动能力,对于这样的View控件,当ScrollView与ListView相互嵌套会成为一种问题: 问题一:ScrollView与ListView嵌 ...
- linux下批量修改文件名之rename
最近因为突然用到需匹配更换文件名,发现rename命令真是 简单好用,和sed语法及vim 替换很相似. 1. 更改文件名后缀 rename 's/\.txt/\.html/' * 2.增加文件名后缀 ...
- iphone的手势与触摸编程学习笔记
一.基本概念与理解:Cocoa Touch将触摸事件发送到正在处理的视图.触摸传达的信息包括: 触摸发生的位置 (当前位置.最近的历史位置) 触摸的阶段 (按下.移动.弹起) 轻击数量 (tapCou ...
- JSON.stringify()的使用--将string转换成json
===========================================================1. ====JSON.stringify()================== ...
- 非常详细GC学习笔记
转载:http://blog.csdn.net/fenglibing/article/details/6321453 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转 ...
- mysql 用户权限设置【转】
在Linux下phpStudy集成开发环境中,要先进入mysql下bin目录,执行mysql ./mysql -u root -p 1.创建新用户 通过root用户登录之后创建 >> gr ...