scss入门学习(一)
sass的文件后缀名
sass是目前流行的css预处理语言。sass有两种后缀文件,一种是.sass,不允许使用大括号和分号;另一种是.SCSS,允许使用大括号和分号,类似于我们平时写css的语法习惯。其实sass最早出现在2007年,但却没有后来的LESS流行和易于接受,最主要的原因是sass严格的语法要求不太符合csser编写,sass为了改变这种现状,迎合大众,推出了更为宽松的SCSS这种类css写法。
sass文件的编译
sass扩展了css的写法,为css提供了变量,继承,宏等能够提高效率和增强维护性的新概念。是不是说我们直接就可以在html文件中引用.sass文件了么?答案是否定的,浏览器并不会认识sass语法形式,而只会解析.css文件资源,所以我们需要将sass编译成css。
主要有以下几种编译方式:
命令编译
单文件编译:
1 |
sass <要编译的sass文件路径>/style.scss:<要输出的css文件路径>/style.css |
多文件编译:
1 |
sass sass/:css/ |
实时监听文件更改
1 |
sass --watch <要编译的sass文件路径>/style.scss:<要输出的css文件路径>/style.css |
GUI界面工具编译
自动化编译
自动化编译因你使用的工具的不同而不同。当前流行的有gulp,grunt,webpack等。
不同样式风格的css输出方法
嵌套输出方式(nested)
1 |
sass test.scss:test.css --style nested |
展开输出方式(expanded)
1 |
sass test.scss:test.css --style expanded |
紧凑输出方式(compact)
1 |
sass test.scss:test.css --style compact |
压缩输出方式(compressed)
1 |
sass test.scss:test.css --style compressed |
变量
声明变量
— 1.变量声明符号($)
— 2.变量名称
— 3.赋予变量的值
1 |
$width: 100px; |
普通变量和默认变量
在普通变量后加上关键字!default即可声明默认变量.默认变量的价值再进行组件化开发的时候非常有用。
1 |
$width: 100px !default; |
局部变量和全局变量
在选择器,函数,混合宏…外面声明的变量为全局变量。相应的在块内部声明的变量为局部变量。局部变量在块内会覆盖全局变量。
1 |
$color: orange !default; //全局变量 |
变量的调用
1 |
$width: 100px !default; |
混合宏(mixin)
当你的网站中有几处样式类似,比如颜色,字体时用变量就可以统一处理了;但是当你有大段的样式需要复用时,变量就无法达到目的了。而混合宏就变得很有意义了。
声明混合宏
— 混合宏声明符号(@mixin)
— 混合宏名称
— (可重用的)代码片段
不带参数的混合宏
1
2
3
4@mixin border-radius {
-webkit-border-radius: 5px;
border-radius: 5px;
}带参数的混合宏
1
2
3
4@mixin border-radius($radius:5px){
-webkit-border-radius: $radius;
border-radius: $radius;
}复杂的混合宏
1
2
3
4
5
6
7
8@mixin box-shadow($shadow...){
@if length($shadow)>=1{
@include prefixer(box-shadow,$shadow)
}
} @else{
$shadow: 0 0 4px rgba(0,0,0,.3);
@include prefixer(box-shadow, $shadow)
}
调用混合宏
— 混合宏调用的关键字@include
— 混合宏的名称
继承/扩展
当两个样式有高度可重用代码时,我们可以定义一个基类,将相似度高的代码提取出来,然后子类继承(extend)父类。
1 |
<!-- 定义一个基类 --> |
占位符%placeholder
当定义一个基类的时候,如果没有子类继承他(extend),就会造成代码冗余。我们使用占位符声明的代码,如果不被@extend调用的话,将不会产生任何代码。
1 |
%mt5{
|
优先使用占位符;如果需要传参数,使用宏;没有参数,使用继承。
scss入门学习(一)的更多相关文章
- Sass简单、快速上手_Sass快速入门学习笔记总结
Sass是世界上最成熟.稳定和强大的专业级css扩展语言 ,除了Sass是css的一种预处理器语言,类似的语言还有Less,Stylus等. 这篇文章关于Sass快速入门学习笔记. 资源网站大全 ht ...
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Retrofit 入门学习
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...
- MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...
随机推荐
- doc文件转txt
doc文件转txt # -*- coding:utf-8 -*- # 安装pywin32包 http://sourceforge.net/projects/pywin32/files/pywin32/ ...
- Springboot配置注入
springboot中如何将yml 配置文件中配置,在类中注入使用 ①第一种使用@value方式 ################## 配置文件 ######################### d ...
- java gc 总结
垃圾查找 1.基于计数器 对象有引用计数,计数为0的,可以被收集 2.基于有向图 从gc root(栈.静态变量.JNI 变量)遍历,能访问的对象,不用被收集,其他的,可以被收集 因为计数器不能解决 ...
- shell_clean_log
apache日志每天进行轮转: vim /usr/local/apache2/conf/extar/httpd-vhosts.conf...ErrorLog "| /usr/local/ap ...
- [LC] 543. Diameter of Binary Tree
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- java面试和笔试大全
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- [HNOI2003]操作系统 优先队列用法
题:https://www.cometoj.com/problem/1046 #include<bits/stdc++.h> using namespace std; typedef lo ...
- 感叹号在Linux bash中使用技巧
1. 重复执行上一条指令 !! [root@iZ23t6nzr7dZ python]# ls /usr/local/ aegis bin etc games include lib lib64 li ...
- Linux基本操作_20191117
VMware和Ubuntu的安装, 想来想去,还是需要安装,不能老是使用Windows的,后面还有很多都要用到Linux系统的,这个可以说是开发人员必备的了, 基本的使用: 1,Windows下面C: ...
- rsync备份(一)
1.Rsync基本概述 )概念 rsync:remote sync )开源 )备份 )https://rsync.samba.org/ samba服务器:文件共享,cifs,common intern ...