1.新建less文件 xx.less 和css文件存放在一起

2. 在less文件里声明编码格式
  @charset "utf-8";

3.把项目拖入Koala里

4.选中less文件 右键设置输出路径 选想要编译的css文件就可以 没有 可新建

5.执行编译 , 下面就可以放心的在less文件里写样式了 
//less 里定义变量的话 一定要用@开头 例如 @变量名:值

@test_width:300px;

.box{
    width: @test_width;
    height:@test_width;
    background-color: yellow;
    .border;
}

//混合,直接把border里的内容给了.box
.border{
    border:solid 5px pink;
}
.box2{
    .box;
    margin-left: 100px;
}
//混合 - 可带参数的
.border_02(@border_width){
    border: solid yellow @border_width;
}
.test_hunhe{
    .border_02(20px)
}
//混合,默认带值
.border_03(@border_width:10px){
    border: solid green @border_width;
}
.test_hunhe_03{
    .border_03();
}
//混合的例子
.border_radius(@radius:5px){
    -webkit-border-radius:@radius;
    -moz-border-radius:@radius;
    border-radius:@radius;
}
.radius_test{
    width: 100px;
    height: 40px;
    background-color: #e60;
    .border_radius(10px);
}
//匹配模式
//普通写法
.sanjiao{
    width:;
    height:;
    overflow: hidden;
    border-width: 10px;
    border-color: red transparent transparent transparent;
    border-style: solid;
    //兼容IE写法
    border-style:dashed dashed solid dashed;
}

//匹配模式写法

.triangle(top,@w:5px,@c:#ccc){//朝上 边框宽度 默认颜色
    border-width: @w;
    border-color: transparent transparent @c transparent;
    border-style: solid dashed dashed dashed;
}
.triangle(bottom,@w:5px,@c:#ccc){//朝下 边框宽度 默认颜色
    border-width: @w;
    border-color: @c transparent transparent transparent;
    border-style: dashed dashed solid dashed;
}
.triangle(left,@w:5px,@c:#ccc){//朝左 边框宽度 默认颜色
    border-width: @w;
    border-color: transparent  @c transparent transparent;
    border-style: dashed dashed dashed solid;
}
.triangle(right,@w:5px,@c:#ccc){//朝右 边框宽度 默认颜色
    border-width: @w;
    border-color: transparent transparent transparent @c;
    border-style: dashed dashed dashed solid;
}
//normal
.sanjiao2{
    width:;
    height:;
    overflow: hidden;
    .triangle(top,100px,#3a9);
}
//更简化的写法
.triangle(@_,@w:5px,@c:#ccc){
    width:;
    height:;
    overflow: hidden;
}
.sanjiao3{
    .triangle(bottom,100px);
}
//匹配模式 - 定位

.pos(r){
    position: relative;
}
.pos(a){
    position: absolute;
}
.pos(f){
    position: fixed;
}

.pipe{
    width: 200px;
    height:200px;
    background-color: #3a9;
    .pos(r);
}

//运算
@test_01:300px;
.box_02{
    width: @test_01 + 20; //320
}

//嵌套规则

//小实例,ul里有li,li里有a和span,css写法
// .list{}
// .list li{}
// .list a{}
// .list span{}

//less写法
.list{
    width: 600px;
    margin: 30px auto;
    padding:;
    list-style: none;
    li{
        height: 30px;
        line-height: 30px;
        background-color: pink;
        margin-bottom: 5px;
    }
    a{
        float: left;
        //&代表他的上一层选择器
        &:hover{
            color: red;
        }
    }
    span{
        float: right;
    }
}

//@arguments包含了所有传递进来的参数。如果不想单独处理每一个参数的话可以像这样写
//此法所用不多
.border(@w:30px,@c:red,@xx:solid){
    //普通写法
        //border:@w @c @xx;
    //@arguments写法
        border:@arguments;
}
.test_arguments{
    .border(5px,#3a9,dotted);
}

//避免编译
  //有时候需要输出不正确的css语法或者less不认识的语法
  //输出这样的值可以在字符串前加上一个~

.test_03{
    width: calc(300px - 30px); //这样写less会自动计算括号里的值 输出为 width: calc(270px);
    width: ~'calc(300px - 30px)'; //原封不动输出width: calc(300px - 30px),适用于滤镜等
}

//!important关键字,和混合模式混合使用,但是不建议使用,可以只做调试用
.test_important{
    .border!important;
}

less基本语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. 【转】十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

  2. win8 客户端源码

    博客园cnblogs for win8 托管到GitHub开源   中午研究了下GitHub ,然后把博客园cnblogs win8 客户端源码放到了上面. 源码网址是: https://github ...

  3. HTTP压缩算法SDCH

    程序设计中使用的那些共享方法或者技术 前段时间看了个paper是讲述谷歌浏览器使用的压缩方法SDCH,其实原理还是比较简单的. 看了论文后就想总结一下程序中使用的一些共享方法或者技术吧. 1.Goog ...

  4. 随手复习一下委托:delegate

    先骂个街,天儿太闷了…… 随手复习一下委托,delegate 是一种函数指针,是 .net 提供的一种安全的函数指针,翻译的也很贴切,像是委托人,又像代理人,通过“委托”来执行一些函数而不是直接调用它 ...

  5. Google Adsense(Google网站联盟)广告申请指南

    Google AdSense 是一种获取收入的快速简便的方法,适合于各种规模的网站发布商.它可以在网站的内容网页上展示相关性较高的 Google 广告,并且这些广告不会过分夸张醒目.由于所展示的广告同 ...

  6. Pygame制作微信打飞机游戏PC版

    使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html   前一阵子看了一篇文章:青少年如何使用Python开始游戏 ...

  7. 程序处理数据库中值字段值为null的查询显示

    1.如果你做了一个简单的注册界面,需要用户进行注册,但有些项是不必要填的,当用户完成注册时,数据库表中的相应字段的值会写入null,但如何将查询的字段的值null显示出来? 2.首先我们学习一下如何向 ...

  8. fiddle2 代理HTTPS请求无效?解决方法。

    fiddle2: 捕获的https请求结尾跟着443,是因为没有开启HTTPS捕获. 解决方案,开启HTTPS捕获:         然后你就看到能正常捕获HTTPS请求了:    

  9. 简明CSS属性:定位

    简明CSS属性:定位 第一话 定位 (Positioning) 关键词:position/z-index/top/bottom/right/left/clip POSITION 该属性用来决定元素在页 ...

  10. asp.net mvc框架的一些切入点

    IhttpModule+配置文件,对请求进行进一步的整理.过滤与转发: global文件中以Application_xx的保护方法进行切入的方式,此方法等同于IHttpModule方法.IHttpMo ...