Less、Sass\Scss

less、scss/sass区别

都是动态样式语言,比css多出很多功能。
scss/sass的功能有变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等,Sass\Scss是缩排语法,易读性高,更方便阅读和维护。
less的功能有变量,继承,运算, 函数, Less 既可以在客户端上运行,也可在服务端运行 ( Node.js)。

区别
scss与less变量符不一样;编译环境不同;作用域不同;less无输出,less不支持条件语句、循环语句;引入外部css方式不同

  1. 编译环境
    sass的安装需要Ruby环境,是在服务端处理的,而less是需要引入less.js来处理less代码输出css到浏览器,也可以在开发环节使用less,然后编译成css文件,直接放到项目中,也有 Less.app、SimpleLess、CodeKit.app这样的工具,也有在线编译地址。在一般前端项目里面使用 yarn add less yarn add less-loader添加到对应的项目里面。

  2. scss与less变量符不一样
    less是@、scss是$、css变量是两根连词线(- -)

  3. 作用域不同
    Less中{}内定义的变量为局部变量,而scss\sass的变量是全局变量

 /** Less-作用域*/
@color: #00c; /* 蓝色 */
#header {@color: #c00; /* red */border: 1px solid @color; /* 红色边框 */
}#footer {border: 1px solid @color; /* 蓝色边框 */
}/** Less-作用域编译后*/
#header{border:1px solid #cc0000;}
#footer{border:1px solid #0000cc;}/**scss-作用域*/
$color: #00c; /* 蓝色 */#header {$color: #c00; /* red */border: 1px solid $color; /* 红色边框 */
}#footer {border: 1px solid $color; /* 蓝色边框 */
}/** Sass-作用域编译后*/#header{border:1px solid #c00}
#footer{border:1px solid #c00}/** 我们可以看出来,less和scss中的变量会随着作用域的变化而不一样。
*/
  1. 输出设置不同
    scss提供四种输出选项:nested, compact, compressed 和 expanded。
    有四种选择,默认为nested

    • nested:嵌套缩进的css代码
    • expanded:展开的多行css代码
    • compact:简洁格式的css代码
    • compressed:压缩后的css代码=
  2. 条件语句不同:less不支持,scss语句支持if{}else{}、for{}循环语句
    less不支持条件语句
    scss语句支持if{}else{}、for{}循环语句

/** if else */
@if lightness($color) > 30% {/**    do....*/
} @else {/**   do....*/
}/**    循环*/
@for $i from 1 to 10 {.border-#{$i} {border: #{$i}px solid red;}
}
  1. 引入外部css方式不同:less引用外部文件和css中的@import没什么差异;scss引用的外部文件命名必须以_开头,如:_test1.scss
源代码
@import "_test1.scss";
@import "_test2.scss";
@import "_test3.scss";// 编译后:
h1 {font-size: 17px;
}h2 {font-size: 17px;
}h3 {font-size: 17px;
}

less引用外部文件和css中的@import没什么差异。

@mixin

@minxin指令可以在整个样式表中定义重复使用的样式

用法:

@mixin 指令允许我们定义一个可以在整个样式表中重复使用的样式。

@include 指令可以将混入(mixin)引入到文档中。

注意事项:①必须是sass文件②引入sass的style要加lang=‘sass’

@mixin name {color: red;font-size: 25px;...
}// 使用
text {@include name        /* 等同于 color: red;font-size: 25px;...*/
}

还可以设置参数

@mixin name($color, $fontSize) {color: $color;font-size: $fontSize;.color-name {color: $color !important;}
}text {@include name(red, 25px)        /* 等同于 color: red;font-size: 25px;*/
}
/* 还可以这么用 <text class="color-name">123</text>
*/

甚至可以使用…设置可变参数

@mixin box-shadow($shadows...) {-moz-box-shadow: $shadows;-webkit-box-shadow: $shadows;box-shadow: $shadows;
}text {@include box-shadow(0 4px 5px #666, 2px 10px #999)      /* 等同于 -moz-box-shadow: 0 4px 5px #666, 2px 10px #999;-webkit-box-shadow: 0 4px 5px #666, 2px 10px #999;box-shadow: 0 4px 5px #666, 2px 10px #999;*/
}

案例:自定义小程序主题

<template><view class="wrap" id="theme-red"><text class="color-base-text">234</text></view>
</template>
<style scoped lang="scss">@import '~@/.../main.scss';
</style><!-- main.scss -->
<style lang="scss">@mixin base($baseColor: #1786f8, $baseHelpColor: #ff851f){$base-color: $baseColor;$base-help-color: $baseHelpColor;.color-base-text {color: $base-color !important;}.color-base-bg {background-color: $base-color !important;}}#theme-red {$base-color: #ff4544;$base-help-color: #ffb644;@include base($base-color, $base-help-color);}
</style>

Less、Sass\Scss相关推荐

  1. 一、SASS(SCSS)

    文章目录 一.为什么有出现css预处理器 二.css预处理器(Sass/Scss.Less......)是什么? 三.Sass和Scss的关系 四.配置Sass编译环境 五.Sass语法拓展 5.1 ...

  2. less、scss、sass

    less.scss.sass scss/sass.less 都是动态样式语言,比css多出很多功能(如变量.嵌套.运算.继承.函数等),更方便阅读和维护 预处理语言使用是:开发时用预处理语言,在打包上 ...

  3. vuecli3 引入全局scss变量_在vue-cli 3中给stylus、sass样式传入共享的全局变量

    在vue-cli 3中, 给stylus.sass样式传入共享的全局变量 在开发中有时,我们定义了大量的基础样式变量,例如: 大量的vue单文件组件会用到这些变量,每个组件都引人一次又太麻烦.全局引入 ...

  4. scss、sass 和 css 的区别

    项目中,会经常使用诸如scss.sass的style样式,它们和css有什么区别呢? less大家应该都不陌生,同样的scss.sass一样,它们都可以称为:CSS预处理器语言. 简单来说,scss和 ...

  5. css+less+scss,你只懂CSS?做前端你还要会 Less、Sass或Stylus

    网站前端开发,CSS是必备的知识,但随着WEB项目越来越大,CSS的预处理越来越重要. 为什么需要CSS的预处理? CSS 是一门非程序式语言,没有变量.函数.SCOPE(作用域)等,要维护我们的CS ...

  6. Sass/Scss、Less 是什么?

    Sass (Syntactically Awesome Stylesheets) 是一种动态样式语言,Sass 语法属于缩排语法,比 css 比多出好些功能 (如变量.嵌套.运算,混入 (Mixin) ...

  7. coffeescript html5,HTML5——前端预处理技术(Less、Sass、CoffeeScript)

    一.Less 1.1.概要 Less是一种动态样式语言,Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展. Less 将 C ...

  8. CSS3(七) 前端预处理技术(Less、Sass、CoffeeScript)

    目录 一.Less 1.1.概要 1.2.变量 1.3.解析Less 1.3.1.在线处理 1.3.2.预处理 1.4.混入(Mixins) 1.5.嵌套 1.6.运算 1.7.函数 1.8.继承 1 ...

  9. 【Sass/SCSS】我花4小时整理了的Sass的函数

    [Sass/SCSS]我花4小时整理了的Sass的函数 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 Sass 定义了各 ...

最新文章

  1. python_web框架
  2. 进化深度神经网络是推动技术发展的强劲动力
  3. 《windows中GSX的管理》之四——cmware-cmd实例
  4. 为什么世界需要 OpenStreetMap 开源道路地图
  5. (30)保护模式阶段测试
  6. Ucenter社区服务搭建
  7. 版本管理工具:git svn 的比较
  8. mrsql查询第二高的成绩_mysql-查找用户的最高分数和相关的详细信息
  9. 漫画:什么是囚徒困境?
  10. 内网服务器文件如何加密,局域网共享文件如何加密?
  11. mysql 图像数据类型_MySQL数据类型
  12. 新员工入职表_医院新员工入职培训怎么做?
  13. 2022年视频号的五大机会,教育商家该如何上车?
  14. 4针串口线接法图_串口通信RS232的基本接法,原来这么简单,今天终于弄明白了...
  15. 仓库规模操作系统的背景之操作系统
  16. 《经营者养成笔记》读后感
  17. 【python基础教程】计算器
  18. 2019,我的工作寻找之路
  19. python求平均数和中位数
  20. 如何确定windows右下角弹出的窗口是哪个程序搞的鬼

热门文章

  1. SPSS20.O---软件安装
  2. bitbucket常用命令
  3. 桌面虚拟化计算机教室,为什么越来越多学校多媒体计算机教室实施桌面虚拟化终端学生机教学方案?...
  4. 今天的仿小米二级菜单显示来了 -----js
  5. 制造业数字化转型的实质
  6. 解析几何----椭圆定点的曲率
  7. OOPS以及【no_context】内核模式处理异常
  8. 获取Bing每日图片API接口
  9. 论文翻译:How to Retrain Recommender System A Sequential Meta-Learning Method
  10. retrain tensorflow中InceptionV3模型