SCSS学习笔记(一)
SCSS的由来
SCSS就是加强版的CSS,要讲SCSS那就一定要从SASS讲起
SASS
Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。2007年发行,2016年版本稳定,设计和开发分开进行,让这个语言的功能相当完善。
Sass是像CSS一样的层叠样式表语言,但是它并不是由前端社区发明的,而是由Ruby社区发明创造,为什么Ruby社区要为前端创造语言,这是因为Ruby社区中有一个全栈Web框架Rails,这个框架包含前端和后端的开发,所以当Ruby社区的人发现CSS并不好用,就发明了一套语言叫做Sass,下面是Sass语法的特点
#sidebar
width: 30%
background-color: #faa
Sass语法如上图所示,它写法极简,省略掉了大括号和分号,但是和python一样,缩进需要严格按照规定,这样子的语法让很多前端工程师很不适应,所以出现了了SCSS,SCSS将括号分号又给添加回来了,例如
#sidebar {
width: 30%;
background-color: #faa;
}
你肯定想说,这样又和CSS有什么区别,实际上SCSS保留了SASS的其他部分功能
SCSS的用法
SCSS相较于CSS加入了编程元素,作为CSS的预处理器,它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件。
变量
SCSS允许使用变量,所有变量以$开头。
$blue : #1875e7;
div {
color : $blue;
}
有了变量,当需要集体修改色型的时候就会方便很多
嵌套
SCSS中允许嵌套,例如CSS中
div h1 {
color : red;
}
这样的语法可以改写成
div {
h1 {
color: red;
}
}
mixin
mixin可以声明重用一个代码块,例如
使用@mixin定义一个代码块
@mixin left {
float: left;
margin-left: 10px;
}
使用@include引入这个代码块
div {
@include left;
}
编译成CSS是这样的
div {
float: left;
margin-left: 10px;
}
另外,mixin支持参数,可以像写函数一样写CSS,例如
@mixin left($value: 10px) {//默认是10px
float: left;
margin-right: $value;
}
引入时,可以自己添加参数
div {
@include left(20px);
}
placeholder
一直引入代码块,编译成CSS的时候还是会有很多的重复代码,
使用placeholder可以节省代码,用法是用%定义一个公用样式
%box {
float: left;
margin-left: 10px;
}
然后用@extend来调用
.selector {
@extend %box;
}
.nav>ol>li {
@extend %box;
}
编译成CSS时就是
.selector,
.nav>ol>li {
float: left;
margin-left: 10px;
}
不拷贝样式,把选择器提到了样式前面
SCSS学习笔记(一)的更多相关文章
- scss 学习笔记
由于没有办法在网络上找到适合顾客的模板,同时之前自己写css也没有很好的管理方式,最终选择了scss. Nested #main p { color: #00ff00; width: 97%; .re ...
- scss学习笔记
1.引用父选择符: & #main { color: black; a { font-weight: bold; &:hover { color: red; } } } 2.font: ...
- Sass学习笔记之入门篇
Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样 ...
- Ionic2学习笔记(6):Navigation
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5551535.html Ionic2中创建一个页面很方便,在页面之间相互切换也很方 ...
- Ionic2学习笔记(1):新建一个页面
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5532323.html 新建一个页面: 借上一篇中的HelloWorl ...
- Sass学习笔记(补充)
阅读目录 1. Sass和SCSS的区别 2. @while循环 3. @at-root 4. @content 5. 凸显注释 6. CSS输出样式 7. 重置浏览器样式 8. Sass调试和@de ...
- sass个人学习笔记
Materliu 在慕课的视频: http://www.imooc.com/learn/364 . http://www.imooc.com/wiki/371 sass入门:http://www.w3 ...
- Ruby学习笔记4: 动态web app的建立
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...
- Angular6 学习笔记——内容投影, ViewChild和ContentChild
angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...
随机推荐
- 哈工大 计算机系统 实验二 Datalab数据表示
所有实验文件可见github 计算机系统实验整理 由于word文件没有保存,因此如需参考此实验,请直接访问github文件
- 「BUAA OO Unit 1 HW1」面向测试小白的简易评测机
「BUAA OO Unit 1 HW1」面向测试小白的简易评测机 声明:本评测机所使用数据生成来自郭鸿宇同学,这对本评测机非常重要 目录 「BUAA OO Unit 1 HW1」面向测试小白的简易评测 ...
- IIS部署遇到问题(没有相关资源/权限不足无法读取配置文件)及解决方法
1:找不到web.config,如下图: 解决办法: 点击目录浏览--打开功能--启用(应用),再次浏览解决 2:再次预览出现别的错误500.19,权限不足,如下图: 解决办法:(右键编辑权限或者右上 ...
- Go代码规范梳理
Go代码规范(Code Review) 总结几个开发过程中经常会犯的代码规范错误 参考链接:https://learnku.com/go/wikis/48375 注释语句 // Request 表示运 ...
- CentOS8安装Geant4笔记(一):Geant4介绍、编译和安装
前言 在服务器CentOS8.2上安装geant4软件. GEANT4 介绍 Geant4 是一个用于模拟粒子穿过物质的工具包.其应用领域包括高能.核物理和加速器物理,以及医学和空间科学研 ...
- 我的hacker标杆
前言:我为什么用"标杆"而不是用偶像来做题目呢?因为在我的心中,值得我学习的黑客绝不是仅仅值得成为我个人的偶像,更应该成为业界的标杆. 国外篇: 丹尼斯·里奇 评价:克尼汉评价道: ...
- 基于jsp的百度Ueditor插件的使用
初次使用百度的富文本编辑器Ueditor,写下使用经验以备不时之需 只是简单的应用,如有错误,请指正 首先去下载编辑器插件http://ueditor.baidu.com/website/downlo ...
- 2022年官网下安装MAVEN最全版与官网查阅方法
目录 确保JDK安装无误 一.百度输入关键字maven,选择官网,进入官网 二.找到下载位置,如图所示,双击进入 三.找到下载位置(下载的是安装包bin版本的,src是源码查看),双击下载 四.弹出保 ...
- JVM学习总结(一)
JVM--Java虚拟机 1.类加载器 JVM虚拟机的类加载器有三个 bootstrapClassLoader 引导类加载器 是有C语言编写,在JVM虚拟机启动时 加载到内存中负责加载rt.jar夹包 ...
- Mybatis的ResultMap对column和property
首先,先看看这张图,看能不能一下看明白: select元素有很多属性(这里说用的比较多的): id:命名空间唯一标识,可以被用来引用这条语句 parameterType:将会传入这条语句的参数类的 ...