less基础语法

变量

//->LESS代码
    @link-color: #428bca;
    @link-color-hover: darken(@link-color, 10%);
    a {
        color: @link-color;
        &:hover {
            color: @link-color-hover;
        }
    }
    .box {
        color: @link-color;
    }

    //->编译为CSS的结果
    a {
        color: #428bca;
    }
    a:hover {
        color: #3071a9;
    }

  

混入(Mixins)

// 定义一个样式选择器
 .roundedCorners(@radius:5px) {
     -moz-border-radius: @radius;
     -webkit-border-radius: @radius;
     border-radius: @radius;
 }
 // 在另外的样式选择器中使用
 #header {
     .roundedCorners;
 }
 #footer {
     .roundedCorners(10px);
 }
//经过编译生成的 CSS 文件如下:
#header {
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}
#footer {
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
}

------------------------------------------------------------------------
//->LESS代码
 .transition(@property:all;@duration:1s;@function:linear;@delay:0s;) {
   -webkit-transition: @arguments;
  transition: @arguments;
}
.box1 {
      .transition;
 }

//->编译为CSS的结果
 .box1 {
  -webkit-transition: all 1s linear 0s;
   transition: all 1s linear 0s;
 }

  

继承(extend)

//->LESS代码
    .public {
        width: 100px;
        height: 100px;
    }

    nav ul {
        &:extend(.public);
        list-style: none;
    }

    //->编译为CSS的结果
    .public, nav ul {
        width: 100px;
        height: 100px;
    }

    nav ul {
        list-style: none;
    }
或者:
    //->LESS代码
    .public {
        width: 100px;
        height: 100px;
    }
    nav ul:extend(.public) {
        list-style: none;
    }
    //->编译为CSS的结果和第一种写法一样

  

作用域

//->LESS代码
    @color: #ccc;
    .box {
        @color: #eee;
        .gray {
            color: @color;
        }
    }
    .box2 {
        .gray {
            color: @color;
        }
    }

    //->编译为CSS的结果
    .box .gray {
        color: #eee;
    }
    .box2 .gray {
        color: #ccc;
    }

  

运算

    @init: #111111;
    @transition: @init*2;
        .switchColor {
        color: @transition;
    }
    //经过编译生成的 CSS 文件如下:
    .switchColor {
         color: #222222;
    }
------------------------------------------------------------------------------
    //->LESS代码
    .mixin (@a) when (lightness(@a) >= 50%) {
      background-color: black;
    }
    .mixin (@a) when (lightness(@a) < 50%) {
      background-color: white;
    }
    .box1{
      .mixin(#ddd);
    }
    .box2{
      .mixin(#555);
    }
    //->编译为CSS的结果
    .box1 {
        background-color: black;
    }
    .box2 {
        background-color: white;
    }

  

函数

LESS 还有一个专门针对 color 的操作提供一组函数。下面是 LESS 提供的针对颜色操作的函数列表:
lighten(@color, 10%); // return a color which is 10% *lighter* than @color
darken(@color, 10%); // return a color which is 10% *darker* than @color
saturate(@color, 10%); // return a color 10% *more* saturated than @color
desaturate(@color, 10%);// return a color 10% *less* saturated than @color
fadein(@color, 10%); // return a color 10% *less* transparent than @color
fadeout(@color, 10%); // return a color 10% *more* transparent than @color
spin(@color, 10); // return a color with a 10 degree larger in hue than @color
spin(@color, -10); // return a color with a 10 degree smaller hue than @color
PS: 上述代码引自 LESS CSS 官方网站,详情请见 http://lesscss.org/#-color-functions
使用这些函数和 JavaScript 中使用函数一样。

init: #f04615;
 #body {
    background-color: fadein(@init, 10%);
 }
经过编译生成的 CSS 文件如下:

#body {
    background-color: #f04615;
}

 

递归

在Less中,混合可以调用它自身。这样,当一个混合递归调用自己,再结合Guard条件表达式,就可以写出循环结构。使用递归循环最常见的情况就是生成栅格系统的CSS:

    //->LESS代码
    .generate-columns(4);
    .generate-columns(@n, @i: 1) when (@i <= @n) {
      [email protected]{i} {
        width: (@i * 100% / @n);
      }
      .generate-columns(@n, (@i + 1));
    }

    //->输出的CSS
    .column-1 {
        width: 25%;
    }

    .column-2 {
        width: 50%;
    }

    .column-3 {
        width: 75%;
    }

    .column-4 {
        width: 100%;
     }

  

导入(import)

    //->LESS代码
    @import "public.less";

    .box {
      &:after {
        .clear;
      }
    }

    //->输出的CSS:会把public中的样式也输出
    .clear {
        display: block;
        height: 0;
        content: "";
        clear: both;
        zoom: 1;
    }

    .box:after {
        display: block;
        height: 0;
        content: "";
        clear: both;
        zoom: 1;
  
    }

  

时间: 2024-10-10 22:13:37

less基础语法的相关文章

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

jQuery安装和基础语法

1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 CDN 中载入 jQuery <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 许多用户在访问其他站点时,已经从百度.又拍云.新浪.谷歌或微软加载过 jQuery.所有结

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

IOS_OC_基础语法

1.YES与NO Object-c 提供了 BOOL 类型, 但这个BOOL 类型和 C++里的并不一样: 在C++里一切非 0 值的东西都 为 true,而为 0 值的为 false.但是 Object-c 里 1 为 true 并被宏定义为 YES=1,0 为 false 并被宏定义为 NO=0. + (BOOL)isEquals:(int)x with:(int)y { return x - y; } if ([Provider isEquals:10 with:1021]) {// ==

less以及SCSS基础语法

less 1.注释: //这种注释不能够编译到CSS 文件中 /*这种注释 能够编译到CSS 文件中*/ 2.less 的基础语法 (1).声明变量: @变量名 : 变量值 使用变量: @变量名 >>>变量使用的基本原则: 多次频繁出现的值,后期需要统一修改的值,牵扯到数值运算的值,推荐使用变量 >>>less 中的变量类型 ①数值类: 不带单位的 123, 带单位的 1px ②字符串类型: 不带引号的 red #FF0000 带引号的"hahhaha&quo

java学习总结--2.基础语法

2.java基础语法  java基础语法和c语言有很多相同之处,因为java'作为后起之秀,借鉴了很多C.C++的语法 1.关键字goto和const不能在java中使用,是为了方便C和C++转换为java代码,如果转换的C和C++包含这两个单词会报编译错误   三个保留字false true null 2.标示符 1.标示符不能为关键字和保留字 2.只能包含字母数字下划线和美元符号$ 3.不能以数字开头 4,.区别大小写,没有规定长度 约定俗成的规则 首字母小写 变量名第一个单词首字母小写后面