SASS笔记
前端开发离不开三剑客:html、Javascript、css.
- html:主要进行网页内容的开发语言;
- JavaScript: 主要对页面业务逻辑的开发语言;
- css:主要对网页外观样式进行注解的文本;
没错就是文本,css仅仅是一种文件格式,而非编程语言,那么有没有一种对网页样式进行编程的语言那,答案是肯定的,比如本篇文章的主角SASS,还有另外两种比较常用的css预处理器(框架)Less CSS、Stylus。
1. CSS预处理器的必要性
css主要对页面的DOM元素进行样式的设定,虽然某些样式也可以继承,比如font-size、opacity,CSS也提供了各种选择器,
其本质都是围绕DOM元素进行样式设定的,随着前端项目工程越来越大,样式文件的冗余性、可维护性带来的副作用也越发显得重要;
比如情景一,你的项目中定义了一个基本颜色,有上万处的不同元素运用了改样式,突然某天产品要求网站更新风格,换了一种色值,如何实现?
- 全局搜索该色值,将其替换为新的色值;
- 定义一个样式类,更改该样式类的色值,在每一处进行需要更改的DOM元素上添加该样式;
再比如情景二,你的项目多处引用了一个相似的border样式,仅仅是border的线宽不一样,如何实现?
- 定义多个样式类,每个样式类引用一种线宽;
不用css预处理器,我们同样可以满足产品的各种花式需求,仅仅是工作量大了一些,仅仅是重复的多写几行乃至几千行代码而已,仅此而已!!!
试想一下,加入我们的色值可以采用一个变量,只需要轻轻改变这个色值变量的值就可以满足场景一的需求;假如我们可以像编写JS代码一样写一个可输入变量的程序,
就可以满足产品设计场景二的需求,即便他有成千上万的线宽,你需要做的仅仅是更改一个变量即可;是的,CSS预处理器已经完全为我们实现了,这就是CSS预处理器存在的意义
2. SASS主要特性
CSS预处理器是一种语言,任何一种css预处理器都完全兼容css,它可以为CSS增加一些编程特性,无需考虑浏览器兼容性问题,让你在CSS中使用变量、简单的逻辑程序、函数等其他的一些功能,请不要停留在石器时代了,开启css编程的新起点吧;
2.1. sass提供四中可选的编程风格
- nested:嵌套缩进的css代码; ————默认风格
- expanded:没有缩进,扩展的css代码;
- compact :简介格式的css代码;
- compressed:压缩后的css代码;————生产环境使用
2.2. SASS主要功能
包括:变量支持、嵌套、混入(mixin)、继承、导入、函数、操作符
SASS笔记的更多相关文章
- sass笔记-4|像写脚本一样写Sass,把能交给Sass办的都交给它
Sass笔记关于sass的基础部分已经写完,这一篇介绍Sass的高级特性--脚本特性.Sass能做很多事让样式表更智能,我们先会看到Sass眼中的数据类型,在这些数据类型上会有可进行的操作,此外,Sa ...
- Sass 笔记
Sass 笔记 1. 安装,依赖Ruby sass依赖Ruby, 所以Windows要先安装Ruby, Mac自带无需安装 $ gem install sass 2. 两种文件格式 sass scss ...
- sass笔记-1|Sass是如何帮你又快又好地搞定CSS的
Sass学习笔记持续整理中,开篇不讲怎么安装,sass是什么,这些搜索引擎会告诉你,我们从sass的作用开始讲起,知道sass用来干什么,有什么作用,我们才能相信用sass的好处,并且时时刻刻想着sa ...
- sass笔记-3|Sass基础语法之样式复用和保持简洁
上一篇详述了Sass如何嵌套.导入和注释这3个基本方式来保持条理性和可读性,这一篇更进一步地阐述sass保持样式复用和简洁的方式--混合器和选择器继承--这两种方式都能复用样式,使用它们也不难,但一定 ...
- sass笔记-2|Sass基础语法之让样式表更具条理性和可读性
这一篇主要详述保持sass条理性和可读性的3个最基本方法--嵌套.导入和注释. 零. 变量 变量本身的作用是为了保持属性值的可维护性,把所有需要维护的属性值放在同一个地方,快速更改,处处生效,可谓售后 ...
- 学习Sass笔记之概念篇
1 什么是CSS预处理器 首先我们了解一下什么是CSS预处理器:通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用.CSS 预 ...
- 项目使用gulp的配置编译sass笔记
Node环境 通过 node.js 网站下载了安装包进行安装 node.js, npm也会一起安装 node --version # 查看node.js版本 npm --version #查看npm版 ...
- Sass学习笔记之入门篇
Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样 ...
- Sass学习笔记(补充)
阅读目录 1. Sass和SCSS的区别 2. @while循环 3. @at-root 4. @content 5. 凸显注释 6. CSS输出样式 7. 重置浏览器样式 8. Sass调试和@de ...
随机推荐
- 利用jenkins做项目的自动化部署
最近领导要求上海本地的项目需要使用进jenkins实现自动化部署,以便可以直接将项目移交给运维的同学,减轻开发的工作量.记录下这次爬坑的过程. 一.前言 Jenkins是基于Java开发的一种持续集成 ...
- top命令总结
top命令主要用来观察和收集运行在系统上的进程的一些有用信息.ps只是一个快照,是ps命令执行的那一瞬间的系统中进程的快照.top则可以用于持续观察. 第一步,在命令行键入top,回车进入top管理界 ...
- 7.java的请求转发和请求重定向
1.请求重定向:是客户端的行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变,一次新的转发. 2.请求转发:是服务器的行 ...
- 百万级数据mysql分区
1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分.从逻辑上看,只有一张表,但是底层却是由多个物理分区组成. 2. 表分区与分表的区别 分表:指的是通过 ...
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...
- Centos 6.x 部署pptp VPN
安装 系统检测不到PPTP的时候 使用一下方法安装PPTP 下载地址:http://poptop.sourceforge.net/yum/stable/packages rpm -ivh http: ...
- Storm集群安装部署步骤
本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...
- java for循环
publicclass Test2 { staticboolean foo(char c) { System.out.print(c); returntrue; ...
- JVM入门——运行时数据区
这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课.其中的“堆”和“虚拟机栈(栈)”更是耳熟能详.下面将围绕这张图对JVM的运行时数据区做一个简单介绍. 程序计数器(Pro ...
- TCP错误恢复特性之一TCP重传
TCP的错误恢复特性是我们用来定位.诊断并最终修复网络高延迟的最好工具. 常见的TCP错误恢复特性有:TCP重传.TCP重复确认和快速重传 1. TCP重传: 重传数据包是TCP最基本的错误恢复特性之 ...