Less

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。Less 可以运行在 Node 或浏览器端。

Sass

Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。

相同之处

1.变量:

可以单独定义一系列通用的样式,在需要的时候进行调用。

2.混合(Mixins):

class中的class(讲一个class引入到另一个class,实现class与class之间的继承),还可以带参数的混合,就像函数一样。

3.嵌套:

class中嵌套class,从而减少代码的重复。

4.运算:

提供了加减乘除四则运算,可以做属性值可颜色的运算。

区别

1.实现方式:

Less是基于JavaScript,是在客户端进行处理的;Sass是基于Ruby,是在服务器端进行处理的。

2.定义变量:

Less定义变量时使用前缀:@;Sass定义变量时使用前缀:$。

//Less定义变量: @color: #4D926F;header {
color: @color;}//Sass定义变量$blue : #1875e7; div {color : $blue;
}

3.混合(Mixins):

Less中使用混合时,只需在classB中根据classA的命名来是用;Sass中首先在定义混合时需要使用@mixin命令,其次在调用时需要使用@include命令来引入之前定义的混合。

//Less中的混合:
.rounded-corners (@radius: 5px)
{     -webkit-border-radius: @radius; -moz-border-radius: @radius; -ms-border-radius: @radius; -o-border-radius: @radius; border-radius: @radius;
}header {
.rounded-corners;}footer {
.rounded-corners(10px);}//Sass中的混合: @mixin left($value: 10px) {     float: left;     margin-right: $value;   
}div {@include left(20px);}​

4.解析方式:

Less可以向上/向下解析;Sass只能向上解析。

5.变量的作用域:

Less中的变量有全局和局部之分;Sass可以变量可以理解为都是全局的,但可以通过在变量后面跟!default,在引入Sass文件之前改变变量的属性值来解决这一问题。

//Less:
@width:100px; h1{ @width:200px; width:@width;
}
h2{ width:@width; }编译后: h1 { width: 200px; } h2 { width: 100px; }//Sass:$borderColor:red !default; .border{ border:1px solid $borderColor;}编译后: .border { border: 1px solid red; } 

6.比起Less

Sass中增加了条件语句(if、if...else)和循环语句(for循环、while循环和each循环)还有自定义函数:

if条件句:

p {@if 1 + 1 == 2 { border: 1px solid; }@if 5 < 3 { border: 2px dotted; }}

if...else条件句:

@if lightness($color) > 30% {background-color: #000;} @else {background-color: #fff;}

for循环:

@for $i from 1 to 10 {.border-#{$i} {border: #{$i}px solid blue;}}

while循环:

$i: 6;@while $i > 0 {.item-#{$i} { width: 2em * $i; }$i: $i - 2;}

each循环,类似于for循环:

@each $member in a, b, c, d {.#{$member} {background-image: url("/image/#{$member}.jpg");}}

自定义函数:

@function double($n) {@return $n * 2;}#sidebar {width: double(5px);}

浅比一下,Less和Sass的区别相关推荐

  1. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  2. python中复制、浅层拷贝、深层拷贝的区别

    python中复制.浅层拷贝.深层拷贝的区别 一.学习要点: 1.python中的复制与拷贝的区别 2.python中浅层拷贝与深层拷贝的区别 二.代码: import copy a=[1,2,3,4 ...

  3. 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解

    浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解 本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTo ...

  4. 什么是proxy服务器代理?怎么设置代理服务器?浅谈服务器代理与VPN的区别

    服务器 服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵.服务器在网络中为其它客户机(如PC机.智能手机.ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务.服务器具有高速的C ...

  5. 浅谈机器学习-回归与分类的区别

    前言 机器学习的主要任务便是聚焦于两个问题:分类和回归.本文将浅谈下两者的区别. 区别 回归会给出一个具体的结果,例如房价的数据,根据位置.周边.配套等等这些维度,给出一个房价的预测.         ...

  6. less与sass的区别

    1.编译环境不同 Less是基于JavaScript,是在客户端处理的. Sass是基于Ruby的,是在服务器端处理的. 2.LESS和SASS文件后缀名区别 1.LESS以.less结尾 2.SAS ...

  7. lass、paas、sass的区别

    现在的公司用的是paas架构.于是自行补救了下关于laas.paas.sass的相关知识. 转载自阮一峰大佬.http://www.ruanyifeng.com/blog/2017/07/iaas-p ...

  8. 浅谈c/c++typedef和#define区别[转]

    在C/C++中,我们平时写程序可能经常会用到typedef关键字和#define宏定义命令,在某些情况下使用它们会达到相同的效果,但是它们是有实质性的区别,一个是C/C++的关键字,一个是C/C++的 ...

  9. 普通计算机网络和工业控制网络的区别,浅谈工控电脑和普通电脑的区别

    工控电脑就是工业控制用的计算机,是计算机的一种,主要结构和工作原理和普通电脑没有什么区别,但是在设计上区别比较大. 工控机 机箱不同: 工控机箱采用钢结构,封闭式设计,内部有大量固定条,有较高的防磁. ...

最新文章

  1. web接口响应时间标准_从零搭建Web应用(二)
  2. 不要在脱离这个市场的情况下讨论商业模式
  3. 感知器python代码
  4. [Webpack 2] Ensure all source files are included in test coverage reports with Webpack
  5. mysql内存数据库性能_Mysql内存表配置及性能测试
  6. C++术语 【from C++ Primer 第1章 快速入门】
  7. VMware网卡配置
  8. Office web component learning ---- Spreadsheet learning
  9. python数据分析收获与心得体会_初次数据分析--我的心得体会
  10. Vue源码笔记之项目架构
  11. php 版onvif 客户端,onvif协议网络摄像机(IPC)客户端程序
  12. while循环python次数定义_Python学习笔记之While循环用法分析
  13. 基于PID算法的房间温度控制及Python程序
  14. Lionel Messi
  15. 互联网2018校招时间_供参考
  16. 第一百二十一天 : varnish
  17. C# 读取网卡、设置网上、自动连接Wifi
  18. mysql 设置 utc_关于时间:MySQL应该将其时区设置为UTC吗?
  19. 全球主要语言缩写对照
  20. 云呐医疗行业条码固定资产管理系统

热门文章

  1. python编写的网络摄像头_python实现从本地摄像头和网络摄像头截取图片功能
  2. 【uni-app】云开发的增删改查CRUD(个人封装)
  3. Cocos Creator 3.x : 你们要的Label3D来了
  4. 【class】类的访问权限
  5. opencv交通标志识别——2
  6. Codeforces - 1166D - Cute Sequences
  7. 仿射密码python_仿射密码加解密 python
  8. VMware 8.0.2的license
  9. 华云数据与应通科技签署战略合作协议 携手开启深化数字化转型新篇章
  10. 欧债危机再生变数,欧元续创年内新低