CSS 是一门非程序式语言
- CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用
- 没有变量
- 没有函数
- 没有SCOPE(作用域)
- 非前端开发工程师来讲,往往会因为缺少 CSS 编写经验而很难写出组织良好且易于维护的 CSS 代码
LESS的目标
LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。
LESS语法介绍
变量
优点
可以将相同的值定义成变量统一管理起来。
作用域
Mixins(混入)
混入是指在一个 CLASS 中引入另外一个已经定义的 CLASS,就像在当前 CLASS 中增加一个属性一样。
LESS
输出CSS:
@arguments
在 Mixins 中具是一个很特别的参数,当 Mixins 引用这个参数时,该参数表示所有的变量,很多情况下,这个参数可以省去你很多代码。
LESS
CSS
嵌套
LESS 的嵌套规则的写法是 HTML 中的 DOM 结构相对应的,这样使我们的样式表书写更加简洁和更好的可读性。
HTML
LESS
CSS
伪类
CSS
普通运算
CSS
针对color
的函数
LESS VS SASS
- LESS 和 SASS 互相促进互相影响,相比之下 LESS 更接近 CSS 语法
- LESS更多开源软件支持
- 本地调试时,SASS可以用Chrome直接调试,而LESS需要加载脚本
Chrome issue
Firefox可以直接在html中加入script
进行调试
Less.js browser script currently won’t work if you’re using Chrome and the path to your page starts with “file:///” due to a known Chrome issue.
解决办法
Thanks!