下面给大家讲解下Less,纯手工,入门级别,相信没学过的人阅读完后就懂了,以下是我要讲的四点:

  • 简单介绍

    Less CSS 是一个使用广泛的 CSS 预处理器。

    对 CSS 进行扩展,减少很多 CSS 的代码量。

    LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数.

    LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可一在服务端运行 (借助 Node.js).

  • 快速入门   

    在服务器端最容易的安装方式就是通过 npm (node.js 的包管理器),方法如下:

  1. $ npm install -g less

    安装 Less 后,就可以在命令行上调用 Less 编译器了,如下:

  1. $ lessc gloal.less

    你可以将输出重定向到一个文件:

  1. $ lessc gloal.less > gloal.css
  • 常用语法 

1.变量

  1. @color: #4d926f;
  2. #header { color: @color; }
  3.  
  4. #header { color: #4d926f; }
  5.  
  6. @color: #253636;
  7. @color: #ff3636; //覆盖第一次的定义
  8. #header {color: @color;} //多次反复解析
  9.  
  10. #header {color: #ff3636;}

2.Mixins——混入, 类似函数或宏

  1. .borderRadius(@radius:3px){
  2. -moz-border-radius: @radius;
  3. -webkit-border-radius: @radius;
  4. border-radius: @radius;
  5. }
  6.  
  7. #header { .borderRadius(10px); }
  8.  
  9. .btn { .borderRadius}

编译后:

  1. #header {
  2. -moz-border-radius: 10px;
  3. -webkit-border-radius: 10px;
  4. border-radius: 10px;
  5. }
  6. .btn {
  7. -moz-border-radius: 3px;
  8. -webkit-border-radius: 3px;
  9. border-radius: 3px;
  10. }

Mixins注意事项:

a.可以不使用参数 .wrap(){…} .pre{ .wrap }

b.内置变量@arguments代表所有参数(运行时)的值 .boxShadow(@x:0,@y:0,@blur:1px,@color:#000){ box-shadow: @arguments; } 注意,在参数没有默认值的前提下使用@arguments调用时必须赋值,否则会导致整个页面内的less语法出错而失效。

c. Mixins必须使用ID或者类,即#xx或.xx,否则无效。

3.嵌套   

  1. #header {
  2. &.fl{ float: left; }
  3. .mln { margin-left:; }
  4. }
  5.  
  6. #header.fl{float: left;}
  7. #header .mln {margin-left:;}

4.运算&函数

  1. @init: #111111;
  2. @transition: @init*2;
  3. .switchColor {
  4. color: @transition;
  5. }
  6. .switchColor {
  7. color: #222222;
  8. }
  9. .lightColor{
  10. lighten(@color, 10%);
  11. }

运算主要是针对任何数字、颜色、变量的操作,支持加、减、乘、除、()或者更复杂的综合运算;而Functions主要是针对颜色,同时提供了部分数学函数,具体的API可参阅文档。

5.继承    

  1. .animal { background-color: black; color: white;}
  2. .bear { &:extend(.animal); background-color: brown;}

当前还有其他继承的写法,我这只是写了其中的一种,详细可在官网上查看文档。

   

6.作用域

  1. @var: red;
  2. #page {
  3. @var: white;
  4. #header { color: @var; // white }
  5. }
  6. #footer {
  7. color: @var; // red
  8. }

Less中的变量、Mixins等的作用域都只是当前文件!

7.注释

  单行注释方式: //单行注释

  单行、多行注释: /* 注释 多行注释 */

  • 资源分享

    官网:lesscss.org

    中文社区:www.lesscss.net

    在线LESS编译:http://tool.oschina.net/less

    ...

5分钟快速入门 - Less的更多相关文章

  1. 一分钟快速入门openstack

    一.它是什么,能干什么想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些.op ...

  2. Vue.js——60分钟快速入门(转)

    vue:Vue.js——60分钟快速入门 <!doctype html> <html lang="en"> <head> <meta ch ...

  3. Vue.js 60 分钟快速入门

    Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下 ...

  4. 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门

    Vue.js——60分钟快速入门   Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理 ...

  5. AngularJS 30分钟快速入门【译】

    引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...

  6. ichartjs一分钟快速入门教程

    1.构建项目环境 由于ichartjs是一个js库,所以只要将ichart.js加入你页面的head中就完成了ichartjs的运行环境.代码如下: <script type="tex ...

  7. Redis 十分钟快速入门

    本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...

  8. 十分钟快速入门 Python,看完即会,不用收藏!

    本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. ...

  9. Python 30分钟快速入门指南

    学习地址 中文版:Python 30分钟入门指南 英文版:Learn X in Y minutes 学习时间 2019/03/10 19:00 - 19:32,多用了2分钟.

随机推荐

  1. MYSQL 主从服务器配置工作原理

    一.        主从配置的原理: Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instanc ...

  2. sed与正则用法收集

    1.将文本每行最后七个字符换成!号 sed   -n  's#.\{7\}$#!#p' ooo 在文本的每一行前添加#符号 sed  's/^.\?/#&/' passwd &  替代 ...

  3. 用python实现模拟登录人人网

    用python实现模拟登录人人网 字数4068 阅读1762 评论19 喜欢46 我决定从头说起.懂的人可以快速略过前面理论看最后几张图. web基础知识 从OSI参考模型(从低到高:物理层,数据链路 ...

  4. 【转】java调用存储过程和函数

    一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableS ...

  5. 除trigger()方法外的jquery手动触发事件

    trigger()可以触发指定事件是大家基本都知道的了. 除了trigger()之外我们也可以这样来触发: html <div id="box" style="he ...

  6. PHP 递归实现层级树状展现数据

    <?php $db = mysql_connect('localhost', 'root', 'root') or die('Can\'t connect to database'); mysq ...

  7. Eclipse 发布网站到linux的tomcat

    1. 安装Eclipse tomcat插件 2. 打包程序 需要把程序打成war包,右键工程,如下操作: 3. 上传到linux 3.1 上传到tomcat目录下 tomcat/webapps/XXX ...

  8. Android事件处理概述

    不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是用户的动作——也就是需要为用户动作提供响应,这种为用户动作提供响应的机制就是事件处理. Android提供了强大的事件处理机制,包 ...

  9. 国产数据库-KingbaseES在linux下的安装

    将KingbaseES软件从windows中传至Linux中并解压 [root@localhost ~]# ls anaconda-ks.cfg  install.log.syslog Desktop ...

  10. WPF 实现验证码功能

    产生验证码的类:ValidCode.cs public class ValidCode { #region Private Fields /// <summary> /// PI /// ...