sass基础学习
2015.6.28
1、安装ruby
2、运行gem安装sass-->gem install sass
3、编译命令行
sass --watch 文件路径/test.scss:编译后文件路径/test.css --style 四编译方式
四种编译方式
(1)嵌套输出方式 nested
(2)嵌套输出方式 expanded
(3)紧凑输出方式 compact
(4)压缩输出方式 compressed
4、代码编写
1.全局变量与局部变量
2.嵌套选择器和嵌套属性
$color:red;
nav{
a{
color:$color
}
}
nav{
padding{
top:20px;
left:20px;
}
}
3.嵌套伪类选择器
.clearfix{
&:before,
&:after{
content:" ";
display:table
}
&:after{
clear:both;
overflow:hidden;
}
}
4.混合宏声明
@mixin border-radius{
-webkit-border-radius:5px;
border-radius:5px;
}
5.调用混合宏
.box{
@include border-radius;
}
6.混合宏传参
@mixin border-radius($radius){
-webkit-border-radius: $radius;
border-radius: $radius;
}
.box {
@include border-radius(3px);
}
7.混合传参
@mixin border-radius($radius:3px){ /* 3px为默认值 */
-webkit-border-radius: $radius;
border-radius: $radius;
}
.btn {
@include border-radius; /* 调用宏,可以通过传入特定的值调用宏,如:@include border-radius(50%) */
}
8.多个参数定义
实现居中代码
@mixin center($width,$height){
width: $width;
height: $height;
position: absolute;
top: 50%;
left: 50%;
margin-top: -($height) / 2;
margin-left: -($width) / 2;
}
调用
.box-center {
@include size(500px,300px);
}
9.混合宏的缺点
Sass 在调用相同的混合宏时,并不能智能的将相同的样式代码块合并在一起。这也是 Sass 的混合宏最不足之处。
@mixin border-radius{
-webkit-border-radius: 3px;
border-radius: 3px;
}
.box {
@include border-radius;
margin-bottom: 5px;
}
.btn {
@include border-radius;
}
编译后
.box {
-webkit-border-radius: 3px;
border-radius: 3px;
margin-bottom: 5px;
}
.btn {
-webkit-border-radius: 3px;
border-radius: 3px;
}
无法将border-radius宏声明的代码抽出来定义,会导致编译出来的代码冗长
10.代码继承 @extend
sass代码:
.btn {
border: 1px solid #ccc;
padding: 6px 10px;
font-size: 14px;
}
.btn-primary {
background-color: #f36;
color: #fff;
@extend .btn;
}
编译后css代码:
.btn, .btn-primary { /*继承样式*/
/* -------------- */
border: 1px solid #ccc;
padding: 6px 10px;
font-size: 14px; }
.btn-primary {
background-color: #f36;
color: #fff; }
11.占位符 %
%mt5 {
margin-top: 5px;
}
.btn {
@extend %mt5; /* 通过@extend 调用继承 */
}
如果不被 @extend调用的话,%所声明并不会被编译,只会静静的躺在scss文件中
如果被@extend调用了之后编译结果如下
.btn {
margin-top: 5px; }

sass基础学习的更多相关文章
- sass基础学习(一)
移动端布局各种问题 pc端布局各种问题sass 组件模块化面向对象编程ajax 框架学习 webpack 打包 性能优化 gulp是基于Nodejs的自动任务运行器她能自动化地完成 javascrip ...
- Sass基础——Rem与Px的转换
rem是CSS3中新增加的一个单位值,他和em单位一样,都是一个相对单位.不同的是em是相对于元素的父元素的font-size进行计算:rem是相对于根元素html的font-size进行计算.这样一 ...
- bootstrap基础学习【菜单、按钮、导航】(四)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
随机推荐
- 【学习笔记】【Foundation】字符串
NSString 创建字符串: char *str="string" NSString* str=@“创建字符串”: NSString* str=[[NSString alloc] ...
- CentOS安装MySQL问题汇总
遇到的错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) denied for ...
- 转:C语言申请内存时堆栈大小限制
一直都有一个疑问,一个进程可以使用多大的内存空间,swap交换空间以及物理内存的大小,ulimit的stack size对进程的内存使用有怎样的限制?今天特亲自动手实验了一次,总结如下: 开辟一片内存 ...
- RazorEngine 学习笔记
refer : https://github.com/Antaris/RazorEngine 微软的模板编辑器. Install-Package RazorEngine using RazorEngi ...
- 【转】Android开发工具--android-studio-bundle-141.2288178
原文网址:http://www.androiddevtools.cn/ AndroidDevTools简介 Android Dev Tools官网地址:www.androiddevtools.cn 收 ...
- hdu 1860 统计字符
Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过8 ...
- navicat 随笔提示的快捷键
1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctrl+shift+r 只运行选中的sql语句6. ...
- 兼容ie6/ff/ch/op的div+css实现的圆角框
<!DOCTYPE html> <html> <head> <title>青春不迷茫:寻梦时代的“蚁族”逆袭之旅- 职场管理专题-中国人力资源开发网-中 ...
- OSI七层结构
- 根据请求头跳转判断Android&iOS
if(navigator.userAgent.match(/Android/i)) { window.location = 'http://apk.hiapk.com/m/downloads?id=c ...