首先sass和less都是css的预编译处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等 加快了css开发效率,当然这两者都可以配合gulp和grunt等前端构建工具使用。sass和less主要区别:在于实现方式 less是基于JavaScript的在客户端处理 所以安装的时候用npm,sass是基于ruby所以在服务器处理。

LESS详细,首先扩展文件名的格式是 xxx.less,<script src="less.js"...> 这种方式编译less,但在实际项目中 还是用命令行的 lessc xxx.less>xxx.css 方式然后引入编译后的css文件 这样减少在运行时上面出现的问题。

1.//安装less
npm install -g less
2.变量
@变量名:值
@width:100px;
.box{
width:@width;
}
3.混合
定义classa 然后可以将classa引入到classb中
.classa(a){
width:@width;
} .classb{
.classa(a);
}
4.嵌套规则
父级{
子集
}
5.函数和运算
可以将值计算
@the-border: 1px;
@base-color: #111;
@red: #842210; #header {
color: @base-color * 3;
border-left: @the-border;
border-right: @the-border * 2;
}
#footer {
color: @base-color + #003300;
border-color: desaturate(@red, 10%);
}
6.SASS详细

首件扩展文件名的格式是 xxx.scss 或者是 xxx.sass

使用方法: sass xxx.scss xxx.css

编译风格:
nested:嵌套缩进的css代码,默认
expanded:没有缩紧的,扩展的css代码
campact:简介格式的css代码
compressed:压缩后的css代码(生产环境)
监听目录
sass --watch xxx.scss:xxx.css //监听文件
sass --watch scsspath:csspath //监听文件夹
变量
$变量名:值
$width:100px; .box{
width:$width;
} 如果变量包含字符串则写在 #{}之中
$c:color; .box{
border-#{$c}:red;
}
嵌套计算

less和sass嵌套相同,计算同理

继承

同less混合相同 定义classa 然后再classb可饮用classa值

//使用方法 定义classa
.classb{
@extend .classa
}
Mixin
//使用方法先用@mixin命令定义一个代码块
@mixin left(参数1,参数2){
float:left;
margin-left:10px;
}
//使用@include调用刚刚定义的代码块
.box{
@inclidu left(参数1,参数2);
}
颜色函数 lighten(颜色,百分比)
插入文件
@import命令插入外部文件 .scss和css都可
条件语句
//@if 可以用来判断 @else 则是配套

.box{
@if 1+1>1 {width:100px;}@else {
width:200px;
}
}
循环语句
//@for @while @each

@for $i from 1 to 10{
border-#{$i}{
border:#{$i}px solid red;
}
} //@while
$i:6;
@while $i>0{
.item-#{$i}{
width:2em*$i;
}
$i:$i-2;
} //@each
@each $member in a, b, c, d {
    .#{$member} {
      background-image: url("/image/#{$member}.jpg");
    }
  }
自定义函数
@function name($n){
@return $n*2;
} .box{
width:name(value);
}

总结

两者都有其优缺点,如果你开发环境中并没有ruby 并且你不想安装ruby 你就可以使用less,如果你觉得sass的语法你更倾向并且你安装了ruby 你就可以使用sass。总之工具不重要,码出一手好代码才是真理。

 

less和sass的区别的更多相关文章

  1. 【less和sass的区别,你了解多少?】

    在介绍less和sass的区别之前,我们先来了解一下他们的定义: 一.Less.Sass/Scss是什么? 1.Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量.继承.运算.函数 ...

  2. less与sass的区别

    在介绍less和sass的区别之前,我们先来了解一下他们的定义: 一.Less.Sass/Scss是什么? 1.Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量.继承.运算.函数 ...

  3. IasS,CasS,PasS,SasS的区别

    IasS: (Infrastructure-as-a-Service(基础设施即服务)) 租用的是硬件,服务器,物理机等 CasS: (container as a Service) 容器服务 租用的 ...

  4. 关于sass的介绍和基本语法

    引入 什么是sass?sass是css预处理器. 那预处理器又是什么?css本身不是一种编程语言,而预处理器是用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件. 如今主流的预处理器 ...

  5. sass 基础——回顾

    1.webstorm 自动编译SASS 下载安装包 http://rubyinstaller.org/downloads/ 然后点击安装,路径为默认路径就行, 勾选以下两项 add Ruby exec ...

  6. Less、Sass/Scss

    一.Less.Sass/Scss是什么? 1.Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量.继承.运算.函数. Less 既可以在客户端上运行 (支持IE 6+, Webki ...

  7. Bootstrap定制(一)less入门及编译

    第一篇博,希望支持. 近期在开发一个项目,项目前端定位于bootstrap,遂花了少许时间研究了bootstrap,将其整理整理,与众人共享. bootstrap官方的定制,功能还算完善,但是基于we ...

  8. css的扩展技术

    CSS的扩展技术 (在原来的CSS语言的基础上扩展了js,可以在里面写js ) 一.less 定义: @color:red; //定义颜色 @body-color:blue; @div-color:y ...

  9. CSS预处理语言

    CSS预处理语言 Less,Sass,Stylus 安装 Less yarn add less 运行命令 ./node_modules/.bin/lessc 嵌套规则 Less.Sass嵌套规则一样 ...

随机推荐

  1. 支持pc和移动端的手写签批功能

    由于之前的业务需要,要求在pc端(用鼠标写字).移动端(手写)实现会签功能,然后百度下载了个签字插件,经过一些修改和功能添加,实现了现有的功能插件,效果如图: 代码下载地址:https://githu ...

  2. 计算python中对象的内存大小

    一般的sys.getsizeof()显示不了复杂的字典. 查看类中的内容: def dump(obj): for attr in dir(obj):#dir显示类的所有方法 print(" ...

  3. http协议状态码解析

    关键词 HTTP协议 状态码 摘要 本文列出了HTTP协议的所有的状态码,并对每个状态码的含义作了深入的解释,以便大家参考.   本文列出了HTTP协议的所有的状态码,并对每个状态码的含义作了深入的解 ...

  4. 2019年4月zstu月赛A: 我不会做

    问题 A: 我不会做 时间限制: 1 Sec  内存限制: 128 MB 题目描述 众所周知,duxing201606就是plw. 然而已经9102年了,plw仍旧没有npy.plw非常难过,于是他打 ...

  5. admin-7

    Admin07 root tmooc 还原三台虚拟机[root@room9pc13 ~]# rht-vmctl reset classroom[root@room9pc13 ~]# rht-vmctl ...

  6. Redis管道功能

    Redis管道,Redis存储用户浏览数据 当频繁的存储获取Redis数据库中的数据时,可以使用Redis的pipeline(管道)功能,将多个相互没有依赖关系的读写操作,如:下一步执行的Redis操 ...

  7. 電腦清理緩存bat文件源碼

    @echo off echo 正在清除系統垃圾文件,請稍等 ...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._ ...

  8. typeof 子类获取父类

    像这样typeof(Typ).BaseType.Name

  9. C89 和 C99 标准比较

    注1: GCC支持C99, 通过 --std=c99 命令行参数开启,如: 代码:gcc --std=c99 test.c    注2:FFMPEG使用的是C99.而VC支持的是C89(不支持C99) ...

  10. QQ聊天框变成方框口口口口的解决办法

    QQ聊天框变成方框口口口口的解决办法 安装了QQ拼音输入法6.0之后,发现 QQ聊天对话框好友名称变成框口口口口口,网上没有找到办法,卸载轻聊版,安装完整版9.03之后,再次启动就好了.