本文共 2456 字,大约阅读时间需要 8 分钟。
Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。
因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展,这就是 Less 如此易学的原因之一。
对于初学者来说,不会用node来安装,可以直接在Visual Studio Code编辑器里下载Easy LESS插件。
装好了插件我们就可以写less代码了(当我们再Visual Studio Code装好插件时,保存时会自动生成一个css文件)
less的使用方法如图:@Color : blue; @backgroundColor : pink; .box{ color: @Color; background - color: @backgroundColor; }.box1{ color: @Color; background - color: @backgroundColor; }.box2{ color: @Color; background - color: @backgroundColor; }.box3{ color: @Color; background - color: @backgroundColor; }.box4{ color: @Color; background - color: @backgroundColor; }
当我们编写css样式的时候,如果需要大篇幅的使用相同的样式,这个时候我们就可以利用less的声明变量的方式来赋值,再将这个变量当做样式的值。而且当我们需要更改样式时,也只需要改变赋值的变量的值即可。!注意:声明变量时前面一定要加@符号!
less还可以像js一样的来封装函数,需要时可以直接调用。
.borderRadius(@px) { border - radius : @px;}.box5{ .borderRadius(10px)}
相同点:
sass和less都是Css的预处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等
加快了css开发效率,当然这两者都可以配合gulp和webpack等前端构建工具使用。
差异:
/*less*/ @width:100px;.box{ width:@width;} /*sass*/ $变量名:值$width:100px; .box{ width:$width;} 如果变量包含字符串则写在 #{ }之中$c:color; .box{ border-#{ $c}:red;}
Less和Sass的主要不同就是他们的实现方式。
Less是基于JavaScript,是在客户端处理的。
Sass是基于Ruby的,是在服务器端处理的。①执行时间不一样;原生js必须要等到页面上包括图片的所有元素加载完成之后才能执行;
jq是DOM结构绘制完毕后就会执行。 ②编写个数不同;原生js不能同时写多个,如果写多个只会执行一个; jq可以写多个,并且都可以执行。 ③jq有简写,原生js不能简写。优点:
①不用刷新就能更新数据(即局部更新);
②异步与服务器通信; ③前端和后端负载平衡; ④基于标准被广泛支持; ⑤界面与应用分离; 缺点: ①使浏览器的back(回退)和history(历史)功能失效; ②因为跨域,可能存在安全问题; ③对搜索引擎支持较弱; ④对移动端支持较差。 ⑤客户端代码冗余。闭包:一个函数内部函数在作用域外部被访问,即将函数内部与函数外部建立关系的桥梁。
优点: ①避免造成全局污染, ②函数外部能够访问到函数内部的变量 缺点: 使用过多的闭包,可能会造成内存泄漏。!!闭包本身不是造成内存泄漏的原因。this是一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
①作为纯粹的函数调用,this指向全局对象 ②作为对象的方法调用,this指向调用对象 ③作为构造函数被调用,this指向新的对象(new会改变this的指向) ④作为箭头函数被调用,this指向他外层父级作用域上下文。(即父级的运行环境)事件委托:利用浏览器的冒泡机制,将子级元素的事件函数编写在父级元素上,以此实现来用父级管理子级集合的事件。
优点: ①可以大量节省内存占用,减少事件注册。 ②新增子元素不需要再次绑定事件。转载地址:http://iwezi.baihongyu.com/