sass相关随笔
安装
- 下载ruby并且安装 点击这里
- 打开命令行输入 gem install sass
- 我使用的是sublime text3 还需要下载三个插件
- sass -- 可以帮助你语法高亮
- sass build -- 可以通过Ctrl+B来编译文件
- SublimeOnSaveBuild -- 帮助你在保存的时候编译
4.编译的命令 - 单个文件转换
sass style.scss style.css - 单文件监听
sass --watch style.scss:style.css - 文件夹监听
sass --watch sassFileDirectory:cssFileDirectory - 命令行其他配置项
- --style表示解析后的css是什么格式,有四种取值分别为:nested,expanded,compact,compressed。
- --sourcemap表示开启sourcemap调试。开启sourcemap调试后,会生成一个后缀名为.css.map文件。
- --debug-info表示开启debug信息,升级到3.3.0之后因为sourcemap更高级,这个debug-info就不太用了。
常用语法入门
1.变量
sass中可以定义变量,方便统一修改和维护
输入:
$fontFamily: SimSun;
$baseColor: #333;
body {
font-family: $fontFamily;
color: $baseColor;
}
生成:
body {
font-family: Helvetica, sans-serif;
color: #333;
}
2.嵌套
sass可以进行选择器的嵌套,表示层级关系
输入:
div {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block;float:left; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
生成:
div ul {
margin: 0;
padding: 0;
list-style: none;
}
div li {
display: inline-block;
float:left;
}
div a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
3.导入
在sass中导入其他的sass文件,最终生成一个sass文件
输入:
_base文件代码:
html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
当前文件代码:
@import '_base';body {
font-size: 100%;
background-color: #666;
}
生成:
html, body, ul, ol {
margin: 0;
padding: 0;
}
body {
font-size: 100%;
background-color: #666;
}
4.mixin
sass中可用mixin定义一些代码段,可传参数,方便处理css3前缀
输入:
@mixin box-sizing ($sizing) {
-webkit-box-sizing:$sizing;
-moz-box-sizing:$sizing;
box-sizing:$sizing;
}
.box-border{
border:1px solid #ccc;
@include box-sizing(border-box);
}
生成:
```css
.box-border {
border: 1px solid #ccc;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
5.拓展/继承
sass可通过@extend来实现代码组合声明
输入:
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
.error {
@extend .message;
border-color: red;
}
生成:
.message, .success, .error{
border: 1px solid #cccccc;
padding: 10px;
color: #333;
}
.success {
border-color: green;
}
.error {
border-color: red;
}
6.运算
sass可进行简单的加减乘除运算
输入:
.container { width: 100%; }
article[role="main"] {
float: left;
width: 600px / 960px * 100%;
}
aside[role="complimentary"] {
float: right;
width: 300px / 960px * 100%;
}
生成:
.container {
width: 100%;
}
article[role="main"] {
float: left;
width: 62.5%;
}
aside[role="complimentary"] {
float: right;
width: 31.25%;
}
7.颜色
sass中集成了大量的颜色
输入:
$linkColor: #08c;
a {
text-decoration:none;
color:$linkColor;
&:hover{
color:darken($linkColor,10%);
}
}
生成:
a {
text-decoration: none;
color: #0088cc;
}
a:hover {
color: #006699;
}
sass相关随笔的更多相关文章
- SASS相关
1.安装ruby http://rubyinstaller.org/downloads/ 2.安装SASS gem sources --remove https://rubygems.org/ gem ...
- SSM框架之AOP、动态代理、事务处理相关随笔
AOP: 原理:底层利用动态代理(两种动态代理技术都使用了) 两种实现方案: 第一种:JDK动态代理技术 实现的InvocationHandler接口,要想实现某个类的动态代理对象,必须有接口有实现类 ...
- vue-baidu-map相关随笔
一,使用vue-baidu-map 1.下载相关包依赖 npm i vue-baidu-map 2.在main.js中import引入相关包依赖,在main.js中添加如下代码: import B ...
- nuxt.js相关随笔
对于nuxt.js从未接触,对于项目需要进行零散了解,作此归纳,以下都是一个新手的拙见与理解,有不同意见欢迎提出,但请勿喷. 一.项目创建 npx create-nuxt-app projectNam ...
- H264相关随笔
DR(Instantaneous Decoding Refresh)--即时解码刷新. I和IDR帧都是使用帧内预测的.它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以 ...
- js(jQuery)相关随笔
//获取所有name='id'.被选择的的多选框var idArr = $("input[type='checkbox'][name='id']:checked");//将这些多选 ...
- Hive相关随笔
1).Hive中Select Top N的实现 Hive中使用 Order by + Limit 可以很容易地实现Select Top N. 但是在Hive中Order by只能使用1个Reduce, ...
- Spring Mvc相关随笔
web.xml部分 1.欢迎界面 <welcome-file-list> <welcome-file>/views/login.jsp</welcome-file> ...
- Sass关于颜色函数的乐趣
阅读目录 1. 了解RGB和HSL颜色标准 2. RGB函数 3. HSL函数 4. Opacity函数 5. 其他颜色函数 6. 一个简单的应用 在Sass中,定义了很多现成的函数,可供我们使用.在 ...
随机推荐
- Koa1 框架
安装创建项目: 1.一定要全局安装(koa1.2和koa2都己经支持) npm install koa-generator -g 2.koa1 生成一个test项目,切到test目录并下载依赖 koa ...
- Luogu 2668 [NOIP2015]斗地主
打牌技术不精,没有把$A$放在顺子里面搜,WA了好长时间. 盗用大佬的一张图: 当时自己搜的时候没有把四张牌拆成三带一等情况. 然后还有一点就是四张三张都出完之后直接数一数剩下的一张两张牌还要多少次出 ...
- 第六课 ROS的空间描述和变换
1.空间描述与变换 有两个坐标系A和B,B坐标系中有一个点P,如何把B坐标系中的P映射到A坐标系呢,这就涉及到空间描述与变换, 先看一下旋转矩阵: 上面中间的行向量中的元素表示在B坐标系当中的元素用A ...
- [转]Node.JS package.json 字段全解析
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- C#——各种参数,扩展方法
余近日复习C#之基础知识,故作一随笔,也是对此前几篇博客中所记录的传值参数相关内容之汇总,还望诸位加以批评指正. 该博客包括以下内容: 传值参数 引用参数 输出参数 数组参数 具名参数 可选参数 扩展 ...
- 关于nginx的使用感想
感慨: 最近老板说要转型NodeJs,所以接连用ThinkJS框架写了2个项目(不过通篇弱类型不用考虑class是真的爽啊...).那天老板又正好让我看看Ngxin的负载均衡和静态资源处理,那现在就写 ...
- PHP开源系统学习之fluxbb_1
最近一直忙于做项目,虽说做了点新东西.感觉自己进步不是很大,总体水平还是跟半年前差不多,想到的东西跟以前差不多,写出来的东西也跟以前差不多.只是现在做的东西多些,比以前敢做了. 近期准备利用点时间,读 ...
- node -- 安装及快速开始
下载并安装 node下载地址:https://nodejs.org/en/download/ 安装就绪后,打开命令行,操作如下: shift+右键/Win+r->cmd 检测是否安装成功: no ...
- kubectl 命令
Kubectl 命令表 kubectl run kubectl expose kubectl annotate kubectl autoscale kubectl convert kubectl cr ...
- springMvc json 参数
以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一 ...