Sass/Scss 基础篇
Sass/Scss 基础篇
总结Sass学习到的内容
应用Sass/Scss前,环境配置
- 首先下载Ruby (http://rubyinstaller.org/downloads)
- 通过命令下载sass gem install sass
- VScode配置 下载插件 Live Sass Compiler
- VScode配置 配置工作区中的setting.json
"liveSassCompile.settings.formats":[
// 扩展
{
"format": "compact",//可定制的出口CSS样式(expanded,compact,compressed,nested)
"extensionName": ".min.css",//编译后缀名
"savePath": null//编译保存的路径
} ],
"liveSassCompile.settings.generateMap": false, //不生成map文件
"liveSassCompile.settings.excludeList": [
"**/node_modules/**",
".vscode/**"
** // 只是编译当前的sass文件
],
"liveSassCompile.settings.autoprefix": [
"> 1%", //">1%"是指 通过全球使用情况统计信息选择出的高于1%使用率的浏览器版本。
"last 3 versions" //"last 3 versions"是指 每个浏览器的最后3个版本。
或
"ie >= 6", //ie6以上
"firefox >= 8",
"chrome >= 24",
"Opera>=10"
]
Sass与Scss的区别
Sass编译写法偏向于Python 没有大括号{}以及分号;
Scss编译写法偏向于CSS 有大括号和分号编译方法
- 命令编译
<Sass文件PATH> : <编译后的CSS文件的PATH> (单文件)
sass/ : css/ (多文件)
sass --watch 自动监测代码变化,自动编译 - GUI编译 (VScode的自动编译 上面已配置)
- 自动化编译 Grunt和Gulp自动化 <cm: 后期要把这部分补上>
- 命令编译
编译出的样式
- 嵌套 -- nested 大括号不单都占行
- 展开 -- expanded 大括号单都占行
- 紧凑 -- compact 每项只占一行
- 压缩 -- compressed 全部一行 (后期推荐使用此方法,减轻文件所占内存)
Sass/Scss 基础知识
默认变量声明:
$btn-primary-color : #fff !default;
想要改变默认值要在默认语句前面定义注释: //不在编译后CSS文件中显示 /* */在编译后CSS文件中显示
数据类型:
数字,字符串,颜色,布尔值,空值,值列表(用空格或逗号分开)字符串:
有引号字符串"header-1"
无引号字符串 sans-serifbold
但是在使用插值的时候,无论调用的是否是无引号的字符串,都会被编译成无引号的字符串值列表:
nth:访问值列表的某一项(第几项)
append: 添加
join: 连接多个列表
@each:遍历值列表中的所有项目运算:
加 减 乘 除
乘法运算时: 20px * 2 后面的数字不能带单位
除法运算时:
在代码中"/"被认为是除法的情况:- 算式中有变量
- 除法算式被()包围
- 不只有除法运算时
当进行颜色运算时,十六进制#xxxxxx 当成十进制数字运算
Sass/Scss 常用标准方法--重要
嵌套:
-- 父类子类嵌套
- 选择器嵌套
- 属性嵌套
- 伪类嵌套
注:尽量避免使用选择器嵌套,避免选择器太具体。否则对于后期维护,以及代码可读性都有很差的体验
混合宏:@mixin (重点)
-- 相当于用于被调用的小函数,用于通过同样的算法,自动生成各自的样式
- 特点:
- 可带参数
- 调用方法 @include
- 可传一个不带值的参数--变量
- 传一个带值的参数--常量
- 缺点:
不动自动合并相同样式的代码
- 特点:
扩展/继承:@extend
-- 相当于CSS中堆叠样式,在父类样式的基础上再添加或改变样式
占位符:%xxx
-- 不被调用时,不会产生CSS代码,可以节省空间
插值:Interpolation
-- 与JS中join方法很像,主要是拼接功能
- 可以用在调用继承以及调用占位符的时候,拼接选择器,拼接占位符的名,以及可以用于拼接属性 例:margin-top
- 不能用于拼接变量&xx,混合宏的函数名 会报错
问题探讨
混合宏 VS 继承 VS 占位符 (优劣对比)
混合宏: 如果你的代码中涉及到变量,建议使用混合宏来创建相同代码。
继承: 不需要变量时,并且基类(父类)在HTML中被使用时用继承
占位符: 基类(父类)不在HTML被使用时,用占位符。
Sass/Scss 基础篇的更多相关文章
- 【项目实战】sass使用基础篇(上)
Sass是一种CSS预处理语言.CSS预处理语言是一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容性(完全兼容css3),让css更加简洁.适应性更强 ...
- Sass之一(基础篇)
源码链接:http://pan.baidu.com/s/1o8M51hCSass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css ...
- Sass进阶之路,之一(基础篇)
Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通 ...
- Sass-学习笔记【基础篇】
最下边附结构图 在线编辑器网址如下:http://sassmeister.com/ 注意编写的时候,符号千万别用了中文的:.:.....之类的,会报错,Sass也转换不成css. less和sass ...
- 基于vue2.x的webpack升级与项目搭建指南--基础篇
first thing fitrst 博主声明:绝对不当标题党 有人看最好不过的背景: 十月初对公司产品的前端构建做了一些优化,但还遗留了不少问题(可了解我的前一篇博文:一次webpack小规模优化经 ...
- sass/scss 和 less的区别
一. Sass/Scss.Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,Sass语法属于缩排语法,比css比多出好些功能(如变量 ...
- 前端总结·基础篇·CSS(三)补充
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 目录 一.移动端 1.1 视口(viewport) 1.2 媒体查询(medi ...
- 前端总结·基础篇·CSS
前端总结·基础篇·CSS 1 常用重置+重置插件(Normalize.css,IE8+) * {box-sizing:border-box;} /* IE8+ */body {margin:0;} ...
- sass/scss 和 less对比
一. Sass/Scss.Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,Sass语法属于缩排语法,比css比多出好些功能(如变量 ...
随机推荐
- B-number HDU - 3652
题意: 找出区间[li,ri]有多少个符合要求的数: 1.这个数里面有13 2.这个数可以被13整除 题解: 这个题目和之前的有点不一样就是这个题目要我们求包含13的(之前做过的都是不包含).但是都差 ...
- 大规模数据爬取 -- Python
Python书写爬虫,目的是爬取所有的个人商家商品信息及详情,并进行数据归类分析 整个工作流程图: 第一步:采用自动化的方式从前台页面获取所有的频道 from bs4 import Beautiful ...
- codeforces 2C(非原创)
C. Commentator problem time limit per test 1 second memory limit per test 64 megabytes input standar ...
- 操作系统 part2
一.程序的内存结构 references: newcoder 运行时,程序分为:text段.data段.BSS段(2个合称数据段).堆.栈. text段:代码段,静态分配内存,只读. data段:初始 ...
- 关于ucore实验一的资料查找
任务:阅读实验一makefile 搞清楚ucore.img是如何构建的 $@ $< $^ 这三个变量分别是什么意思 https://blog.csdn.net/YEYUANGEN/arti ...
- 2019牛客多校第四场B xor(线性基求交)题解
题意: 传送门 给\(n\)个集合,每个集合有一些数.给出\(m\)个询问,再给出\(l\)和\(r\)和一个数\(v\),问你任意的\(i \in[l,r]\)的集合,能不能找出子集异或为\(v\) ...
- Dapr 交通控制示例
Dapr 已在塔架就位 将发射新一代微服务 牛年 dotnet云原生技术趋势 Dapr是如何简化微服务的开发和部署 前面几篇文章都是从大的方面给大家分享Dapr 能帮助我们解决什么问题,微软从开源到1 ...
- 解决: "E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) ..."
解决: "E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?& ...
- vue 的 computed 属性在什么时间执行
vue 的 computed 属性在什么时间执行
- MobX All In One
MobX All In One Simple, scalable state management. https://mobx.js.org/README.html https://github.co ...