less简单入门(CSS 预处理语言)

Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。

Less 可以运行在 Node、浏览器和 Rhino 平台上。网上有很多第三方工具帮助你编译 Less 源码。

官网地址

http://lesscss.org/

less手册

www.lesscss.net/

bootstrap官网less介绍

http://less.bootcss.com/

一、浏览器端环境搭建
github下载地址:https://github.com/less/less.js

1、js引入
搭建Less的学习环境非常简单,只需在</body>标签前通过<script type="text/javascript" src="less.js"></script>引入处理器即可实现浏览器端中将less预编译为css样式。

更有效的方式是通过如下代码监测less样式,自动编译为css样式,从而减少我们修改less代码后需按F5后才看到实际效果的繁琐步骤。

<script>less = { env: 'development'};</script>
<script src="less.js"></script>
<script>less.watch();</script>

Note:注意你的less样式文件一定要在引入less.js前先引入。

2、less的css样式处理
less内联样式和外联样式

基于我们现在使用的是浏览器端进行预编译,因此Less可用于内联样式和外联样式当中。

内联样式如下:

<style type="text/less">
 // less 代码
</style>

外联样式引入如下:

Note:注意rel的值是stylesheet/less

<link rel="stylesheet/less" type="text/css" href="文件.less" rel="external nofollow" />

二、语法
1、注释

// 单行注释,不会作为最终输出
/*
多行注释,以原生CSS的/*注释....*/形式作为最终输出
*/

2、变量
Less中的变量有以下规则:

@作为变量的起始标识,变量名由字母、数字、_和-组成
没有先定义后使用的规定;
以最后定义的值为最终值;
可用于rule值、rule属性、rule属性部件、选择器、选择器部件、字符串拼接;
定义时 "@变量名: 变量值;" 的形式;引用时采用 "@变量名" 或 "@{变量名}" 的形式;
存在作用域,局部作用域优先级高于全局作用域。
Note:注意直接拷贝网页中代码可能因为一些空白符的原因导致编译出错。

less源码

@color: color;
 @dialog: .dialog;
 @suffix: fix;
 // 空格将被忽略,若要保留空格则需要使用单引号或双引号
 @hi: 'hello ';
 @dear: there ;

 .dialog{
 // 用于 rule属性部件,必须使用"@{变量名}" 的形式
 background-@{color}: #888;
 // 用于 rule属性,必须使用"@{变量名}" 的形式
 @{color}: blue;
 }
 // 用于 选择器,必须使用"@{变量名}" 的形式
 @{dialog}{
 width: 200px;
 }
 @{dialog}::after{
 content: ': @{hi}@{dear}!'; // 用于 字符串拼接,必须使用"@{变量名}" 的形式
 }
 @h: 1000px;
 // 用于 选择器部件,必须使用"@{变量名}" 的形式
 .ie-@{suffix}{
 @h: 30px; // 存在作用域,局部作用域优先级高于全局作用域。
 height: @h; // 用于 属性值,两种形式均可使用
 line-height: 30px;
 }

 // 1. 以@作为变量的起始标识,变量名由字母、数字、_和-组成
 // 2. 没有先定义后使用的规定;
 @dialog-border-color: #666;
 @dialog-border-width: 10px;
 @dialog-border-width: 1px; // 3. 以最后定义的值为最终值;

最终输出:

.dialog {
 background-color: #888;
 color: blue;
}
.dialog {
 width: 200px;
}
.dialog::after {
 content: ': hello there!';
}
.ie-fix {
 height: 30px;
 line-height: 30px;
}

三、gulp编译less
1、安装
全局安装:npm install -g less

项目内安装:npm install gulp-less --save-dev

2、使用

var gulp=require("gulp");
var less=require("gulp-less");

gulp.task("less",function(){
gulp.src('src/css/*.less')
.pipe(less())
.pipe(gulp.dest("src/css"));
});

//监视文件的变化
gulp.task("watch",function(){
gulp.watch("src/css/*.less",['less']);
});

参考:http://www.jb51.net/article/107875.htm

(0)

相关推荐

  • less简单入门(CSS 预处理语言)

    Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. Less 可以运行在 Node.浏览器和 Rhino 平台上.网上有很多第三方工具帮助你编译 Less 源码. 官网地址 http://lesscss.org/ less手册 www.lesscss.net/ bootstrap官网less介绍 http://less.bootcss.com/ 一.浏览器端环境搭建 github下载地址:htt

  • 前端构建 Less入门(CSS预处理器)

    Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. Less 可以运行在 Node.浏览器和 Rhino 平台上.网上有很多第三方工具帮助你编译 Less 源码. 一.前言 说到前端构建怎能缺少CSS预处理器呢!其实CSS的预处理器有很多啦,比较出名的有Scss.Sass.Stylus和Less.(最近还听说出现了Autoprefixer等CSS后处理器,可参考@一丝的PPT) 众多CSS预处理

  • C语言结构体简单入门讲解

    结构体 定义:用于存储不同的数据类型,存储在同一块内存空间里面 关键字 struct 标签 结构体名称 成员 例如: struct student { char name[20]: char sex; int age; float grade; }: 结构体后面不要忘记加分号 结构体至少需要一个标签,证明身份 结构体的使用 .访问指针 →访问 #include <stdio.h> #include <string.h> struct student { char name[20];

  • 制作微信小程序的小白简单入门教程

    目录 一.小程序是什么? 二.小程序的优势 三.知识准备 四.开发准备 五. hello world 示例 六.WXML 标签语言 七.小程序的项目结构 八.项目配置文件 app.json 小程序已经成为国内前端的一个重要业务,跟 Web 和手机 App 有着同等的重要性.小程序开发者供不应求,市场招聘需求极其旺盛,企业都抢着要. 尽管如此,小程序的教程却很缺,要么是不够系统,要么就是跳跃性太大,很多关键的地方寥寥数语,初学者摸不着头脑.我自己学的时候,就苦于找不到好一点的教程. 本文就是我的小

  • jQuery简单入门示例之用户校验demo示例

    本文实例讲述了jQuery简单入门示例之用户校验.分享给大家供大家参考,具体如下: jQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说不定,有意外惊喜哦,今天这篇文章,小编简单的介绍一下JQuery的一些基本知识,然后小编在集合实例,讲解一下在具体的应用过程中,我们的JQuery又是如何在她的舞台熠熠生辉...... 通过JQuery的学习,我们可

  • php简单压缩css样式示例

    本文实例讲述了php简单压缩css样式的方法.分享给大家供大家参考,具体如下: $css = ''; //找css目录 $root = $_SERVER['DOCUMENT_ROOT'].'/css/'; //directory where the css lives $files = explode(',',$_SERVER['QUERY_STRING']); if(sizeof($files)) { foreach($files as $file) { $css.= (is_file($ro

  • 基于vue-cli、elementUI的Vue超简单入门小例子(推荐)

    这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单的介绍,其实和Vue官方的差不多. #如若没有安装过vue-cli,先全局安装一下vue-cli $ cnpm i -g vue-cli #到自己喜欢的目录下创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # # #之后会有如下询问 ? Project name (my-project) #回车 ? Pro

  • ActiveMQ的简单入门介绍与使用

    一.什么是消息中间件 消息中间件顾名思义实现的就是在两个系统或两个客户端之间进行消息传送 二.什么是ActiveMQ ActiveMQ是一种开源的基于JMS(Java Message Servie)规范的一种消息中间件的实现,ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件. 三.什么时候需要用ActiveMQ ActiveMQ常被应用与系统业务的解耦,异步消息的推送,增加系统并发量,提高用户体验.例如以我在工作中的使用,在比较耗时且异步的远程开

  • drools的简单入门案例场景分析

    目录 一.背景 1.Drools介绍 二.为什么要学习drools 三.实现上方这个简单的打折案例 1.引入jar包 2.编写kmodule.xml配置文件 3.编写规则文件 1.规则文件的语法 2.编写规则文件 3.解释一下包名 四.编写Java代码 1.编写一个订单对象 2.编写测试代码 五.测试结果 六.drools引擎的基本组件 七.完整代码 八.参考文档 一.背景 最近在学习规则引擎drools,此处简单记录一下drools的入门案例. 1.Drools介绍 drools是一款由JBo

  • python中Flask框架简单入门实例

    本文实例讲述了python中Flask框架的简单用法.分享给大家供大家参考.具体如下: 使用Flask框架的简单入门范例代码,如果你正学习Flask框架,可以参考下面的启动代码,这段代码可以在网页上输出"hello world" import os # Using Flask since Python doesn't have built-in session management from flask import Flask, session app = Flask(__name_

随机推荐