less


1、变量

    声明变量:@变量名:变量值
  使用变量:@变量名

 >>>Less中变量的类型
  ①数字类:1 100px
  ②字符串:无引号字符串[red] 有引号字符串["haha"]
  ③颜色类:red #000000 rgb()
  ④值列表类型:用逗号或空格分隔10px solid blue

   >>>变量使用原则:
  多次频繁出现的值、需要修改的值,设为变量

2、混合(MiXins)
  ①无参混合
  声明:.name{} 选择器中调用:.name;
  ②带参混合
  无默认值声明:.name(@brWidth){} 调用 .name(parValue);
  有默认值声明:.name(@brWidth:value){} 调用 .name(parValue);parValue可省略

>>>如果声明时,参数没有默认值,则调用时必须赋值,否则报错!
  >>>无参混合,会在css中编译出同名的class选择器:有参的不会;

3、Less的匹配模式
  使用混合进行匹配,类似于if结构
  >>>声明 .name(条件一,参数){} .name(条件二,参数){} .name(@_,参数){}
  >>>调用 .name(条件值,参数值);
  >>>匹配规则:根据调用时提供的条件值,去寻找与之匹配的"mixins"执行。其中@_表示永远匹配

4、less中的运算
  + - * /
  颜色运算时,红绿蓝分开计算,组内可进位,组间互不干扰




Sass


1、Sass中的变量
  声明变量:$变量名:变量值
  如果变量需要在字符串中嵌套,则需要使用# {}包裹
  border-# {$left}:10px solid red;
2、Sass中的运算

  会将单位也进行运算,使用时注意最终单位;

3、sass中的嵌套:选择器嵌套,属性嵌套,伪类嵌套
  选择器嵌套

ul{ li{} }后代
  ul{>li{} }子代
  &表示上一层div{ul{li{&=="div ul li"}}}
  属性嵌套:

属性名与{之间必须有:例如border:{color:red;}
  伪类嵌套:

ul{li{&:hover{"ul li:hover"}}}

4、混合宏、继承、占位符
  ①混合宏:   声明:@mixin name($param:value){}
      调用@include name(value);
  >>>声明时,可以有参数,也可以无参;可带默认值,也可以不带;但是调用时,必须符合声明规范。同Less
  >>>优点:可以传参,不会生成同名class
  >>>缺点:会将混合宏中的代码,copy到对应的选择器中,产生冗余代码

  ②继承:声明: .class{} 调用 @extend .class;
  >>>优点:继承相同代码,会提取出并集选择器中,减少冗余代码;
  >>>缺点:无法进行传参、会在css中生成一个同名class

  ③占位符:声明: %class{} 调用: @extend %class;
  >>>优点:继承相同代码,会提取出并集选择器中,减少冗余代码;不会在css中生成一个同名class
  >>>缺点:无法进行传参

  >>>综上所述:当需要传递参数的时候,用混合宏;当有现成class时用继承;
  当不需要参数,且无现成class时用占位符;

5、if条件结构

6、for循环结构

7、while 循环结构

8、each循环遍历

9、函数function


Less与Sass的更多相关文章

  1. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  2. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  3. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  4. 前端CSS预处理器Sass

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

  5. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  6. Sass之坑Compass编译报错

    前段时间在使用Compass时遇到了其为难处理的一个坑,现记录到博客希望能帮助到各位. 一.问题: 利用Koala或者是gulp编译提示如下,截图为koala编译提示错误: 二.解决办法 从问题截图上 ...

  7. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  8. Sass用法指南

    写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...

  9. PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用

    如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...

  10. Sass:初识Sass与Koala工具的使用

    一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...

随机推荐

  1. fastjson将json格式null转化空串

    生成JSON代码片段 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.pu ...

  2. node.js报错throw err; // Rethrow non-MySQL errors e:\serverTest\node_modules\mysql\lib\protocol\Parser.js:79 解决方法

    今天在用node+angular做后台时,需要使用session保存登陆状态的时候,遇到了此问题,问题直译为非mysql问题,我也在后台取到的登陆用户名和密码,确实不是数据库问题.最后发现在使用ses ...

  3. Spring 框架原理

    [spring框架原理] Spring框架原理 [博主]高瑞林 [博客地址]http://www.cnblogs.com/grl214 写给读者的话 ------亲爱的读者感谢您对小编的支持,当我正值 ...

  4. Vim快速入门

    学习自:实验楼 Vim具有6种基本模式和5种派生模式 普通模式: vim启动后的默认模式,常用的编辑器命令诸如移动光标,删除文本. 普通模式中,有很多方法进入插入模式,常用 a 或 i 键. 插入模式 ...

  5. HTTP相关整理(上)

    这次整理HTTP相关知识点的初衷是因为项目中有大量与网络请求相关的知识细节点,所以这次整理的更多的是日常中用得到的点(参考图解HTTP),另外给打算做FE的新人们一些建议:多重视网络这方面的知识.文章 ...

  6. 【C++】智能指针详解(一):智能指针的引入

    智能指针是C++中一种利用RAII机制(后面解释),通过对象来管理指针的一种方式. 在C++中,动态开辟的内存需要我们自己去维护,在出函数作用域或程序异常退出之前,我们必须手动释放掉它,否则的话就会引 ...

  7. RDCの自我介绍

    ........................................... 大家好,这里是RUSH_D_CAT.一只ACMer,19岁的少年,From SDU,大二. Q: 1950499 ...

  8. [SinGuLaRiTy] 2017-03-30 综合性测试

    [SinGuLaRiTy-1014] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 对于所有的题目:Time Limit:1s  |  Me ...

  9. 老李分享:《Linux Shell脚本攻略》 要点(三)

    老李分享:<Linux Shell脚本攻略> 要点(三)   1.生产任意大小的文件 [root@localhost dd_test]#[root@localhost dd_test]# ...

  10. Maven基础学习(一)—Maven入门

    一.概述      Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 ...