一、什么是Less/Sass?

LESS是一个CSS预处理器,可以为网站启用可自定义,可管理和可重用的样式表。 LESS是一种动态样式表语言,扩展了CSS的功能。 LESS也是跨浏览器友好。

SASS(Syntactically Awesome Stylesheet)是一个CSS预处理器,有助于减少CSS的重复,节省时间。它是更稳定和强大的CSS扩展语言,描述文档的样式干净和结构。

二、什么是css预处理器?

CSS预处理器是一种脚本语言,可扩展CSS并将其编译为常规CSS语法,以便可以通过Web浏览器读取。 它提供诸如变量,函数, mixins 和操作等功能,可以构建动态CSS。

三、sass,less,stylus优缺点?

Less 从语言特性的设计到功能的健壮程度和另外两者相比都有一些缺陷,但用 Less 可以满足大多数场景的需求。

但相比另外两者,基于 Less 开发类库会复杂得多,实现的代码会比较脏,能实现的功能也会受到 DSL 的制约。

比 Stylus 语义更清晰、比 Sass 更接近 CSS 语法,使得刚刚转用 CSS 预编译的开发者能够更平滑地进行切换。

Sass 在三者之中历史最久,也吸收了其他两者的一些优点。

从功能上来说 Sass 大而全,语义明晰但是代码很容易显得累赘。

主项目基于 Ruby 可能也是一部分人不选择它的理由(Less 开始也是基于 Ruby 开发,后来逐渐转到 less.js 项目中)。

Sass 有一个「事实标准」库——Compass,于是对于很多开发者而言省去了选择类库的烦恼,对于提升开发效率也有不小的帮助。

Stylus 的语法非常灵活,很多语义都是根据上下文隐含的。

基于 Stylus 可以写出非常简洁的代码,但对使用团队的开发素养要求也更高,更需要有良好的开发规范或约定。

总的来说,三种预处理器百分之七八十的功能是类似的。

Less 适合帮助团队更快地上手预处理代码的开发,而 Sass 和 Stylus 的差异更在于口味。

四、为什么要使用CSS预处理器?

作为前端开发人员,大家都知道,Js中可以自定义变量,而CSS仅仅是一个标记语言,不是编程语言,因此不可以自定义变量,不可以引用等等。

CSS有具体以下几个缺点:

  语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;

  没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。

  这就导致了我们在工作中无端增加了许多工作量。而使用CSS预处理器,提供 CSS 缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大提高了我们的开发效率。

  但是,CSS预处理器也不是万金油,CSS的好处在于简便、随时随地被使用和调试。预编译CSS步骤的加入,让我们开发工作流中多了一个环节,调试也变得更麻烦了。更大的问题在于,预编译很容易造成后代选择器的滥用。

  所以我们在实际项目中衡量预编译方案时,还是得想想,比起带来的额外维护开销,CSS预处理器有没有解决更大的麻烦。

五、Sass和Less的比较?

相同点:

1、混入(Mixins)——class中的class;

2、参数混入——可以传递参数的class,就像函数一样;

3、嵌套规则——Class中嵌套class,从而减少重复的代码;

4、运算——CSS中用上数学;

5、颜色功能——可以编辑颜色;

6、名字空间(namespace)——分组样式,从而可以被调用;

7、作用域——局部修改样式;

8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。

区别点:

Less是基于JavaScript,是在客户端处理的。

Sass是基于Ruby的,是在服务器端处理的。

关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$。

六、下节将详细介绍怎么样子使用css预处理器

css预处理器:less和sass认知相关推荐

  1. CSS预处理器语言:Sass、LESS、Stylus

    CSS预处理器语言:Sass.LESS.Stylus Sass 和 Less 都使用的是标准的 CSS 语法.默认 Sass 使用 .sass 扩展名, Less 使用 .less 扩展名,Stylu ...

  2. CSS预处理器的对比 — Sass、Less和Stylus

    本文根据Johnathan Croom的<sass vs. less vs. stylus: Preprocessor Shootout>所译,整个译文带有我们自己的理解与思想,如果译得不 ...

  3. CSS预处理器 -- stylus 、sass、less

    在写CSS的时候我们会发现,为了兼容浏览器等原因,我们往往需要写很多冗余的代码,CSS预处理器就是为了解决CSS的这些问题,简化CSS代码的编写. 目前最主流的CSS预处理器是LESS.SASS和St ...

  4. 关于CSS预处理器(less,sass)

    在接触到SASS这个词汇时,是在13年,大漠的w3cplus上看到的,那时我还是名UI设计师,做设计为主,偶尔工作需要也写代码的.所以对于SASS没有太多关注. 重视起想要学习LESS,SASS是在今 ...

  5. 引入css预处理器,6款CSS预处理器 你值得拥有!

    CSS preprocessor (CSS预处理器)可以帮助我们编写可维护的.与时俱进的代码,也可以减少需要编写的CSS数量,这些工具对于哪些需要大量样式表和样式规则的大型用户界面是非常有帮助的. 今 ...

  6. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  7. 您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    2019独角兽企业重金招聘Python工程师标准>>> CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS ...

  8. 初识css预处理器:Sass、LESS

    这篇文章是初步介绍css预处理的,详细学习请移步官网~ sass中文文档:https://www.sass.hk/docs less中文文档:http://lesscss.cn/ 什么是css预处理器 ...

  9. css预处理器sass使用教程(多图预警)

    css预处理器赋予了css动态语言的特性,如变量.函数.运算.继承.嵌套等,有助于更好地组织管理样式文件,以及更高效地开发项目.css预处理器可以更方便的维护和管理css代码,让整个网页变得更加灵活可 ...

最新文章

  1. Oozie 出现 ClassNotFoundException 解决方法
  2. xcode 4.5 new feature __ ios6 新特性
  3. 使用jquery的getJSON从服务器端获得数据
  4. Python-OpenCV 处理视频(四): 运动检测
  5. 【蓝桥杯Java_C组·从零开始卷】第五节(二)、BigDecimal的使用
  6. andriod开发环境配置
  7. win8.1 USB启动盘制作(不支持UEFI,不支持GPT分区)
  8. python怎么赋值int_int对象不支持项赋值
  9. python学习过程中随手写的测试脚本-testloop.py
  10. 前端学习(3167):react-hello-react之鼠标添加一个todoList
  11. 二十一世纪Windows简史
  12. 平均无故障时间100万小时_【行业动态】三菱J系列重型燃气轮机达新里程碑:100万商业运行小时数...
  13. Hive 中的Mapper Reducer个数 决定因素
  14. Java学习系列(十三)Java面向对象之界面编程
  15. 加固机箱设计资料第289篇:基于3U VPX的 5槽加固机箱
  16. Oracle9i数据库Data Guard实施及维护手册
  17. angular整合环信webIM
  18. 2017-2018-1 现代偏微分方程导论
  19. java tapestry_Tapestry简介- 转载 (转自java-cn)
  20. 教育类型网站用户体验分析——以UMU学习平台、学生安全教育平台、师路南通为例...

热门文章

  1. java读取rdb_剖析Redis RDB文件
  2. strictmode android,(十三)Android 性能优化 StrictMode
  3. java中between的取值_Java中的between()方法的持续时间
  4. NF8465M4安装2008R2“安装程序无法创建新的系统分区,也无法定位现有分区
  5. 调用阿里云接口一键实现人像动漫化
  6. Greenplum数据库源码学习——BackgroundWorker框架
  7. unity 2D 游戏背景无线循环简单使用
  8. java cookie过期_Java中Servlet Cookie设置过期时间(expires,max-age)
  9. lol服服务器维护算逃跑吗,英雄联盟掉线几分钟算逃跑
  10. 狂神spring笔记