LESS速查
注释
缓存式注释/*注释内容*/
非缓存式注释//注释内容
变量
@nice-blue: #5B83AD;
@light-blue: @nice-blue + #111;
#header { color: @light-blue; }
混合
1.混合类:
.bordered {
border-top: dotted 1px black;
border-bottom: solid 2px black;
}
#menu a
{
color: #111;
.bordered;
2.混合带参数:
.border-radius (@radius) {
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
}}
#header {
.border-radius(4px);
}
我们还可以像这样给参数设置默认值:
.border-radius
(@radius: 5px) {
border-radius:
@radius;
-moz-border-radius:
@radius;
-webkit-border-radius:
@radius;
}
#header {
.border-radius;
}
模式匹配
LESS 提供了通过参数值控制 mixin 行为的功能,让我们先从最简单的例子开始:
.mixin (@s, @color)
{ ... }
.class {
.mixin(@switch,
#888);
}
如果要根据 @switch 的值控制 .mixin 行为,只需按照下面的方法定义 .mixin:
.mixin (dark,
@color) {
color:
darken(@color, 10%);
}
.mixin (light,
@color) {
color:
lighten(@color, 10%);
}
.mixin (@_, @color)
{
display: block;
}
然后调用:
@switch: light;
.class {
.mixin(@switch,
#888);
}
将会得到以下 CSS:
.class {
color: #a2a2a2;
display: block;
}
传给 .mixin 的颜色将执行 lighten 函数,如果 @switch 的值是 dark,那么则会执行 darken 函数输出颜色。
运算:
@test:800px;
body{
width:@test - 200;
//运算会自动同步单位
}
嵌套规则
LESS 可以让我们以嵌套的方式编写层叠样式
#header {
color: black;
.navigation {
font-size: 12px;
}
.logo {
width: 300px;
&:hover {
text-decoration: none }
}
}
注意 & 符号的使用
— 如果你想写串联选择器,而不是写后代选择器,就可以用到 & 了。这点对伪类尤其有用如 :hover 和 :focus。
例如:
.bordered {
&.float {
float: left;
}
.top {
margin: 5px;
}
}
会输出:
.bordered.float {
float: left;
}
.bordered .top {
margin: 5px;
}
@arguments 变量
.box-shadow (@x: 0,
@y: 0, @blur: 1px, @color: #000) {
box-shadow:
@arguments;
-moz-box-shadow:
@arguments;
-webkit-box-shadow:
@arguments;
}
.box-shadow(2px, 5px);
将会输出:
box-shadow: 2px 5px
1px #000;
-moz-box-shadow: 2px
5px 1px #000;
-webkit-box-shadow:
2px 5px 1px #000;
避免编译
~"样式" 可用单引号或双引号
有时候我们需要输出一些不正确的 CSS 语法或者使用一些 LESS 不认识的专有语法。
要输出这样的值我们可以在字符串前加上一个 ~,例如:
.class {
filter:
~"ms:alwaysHasItsOwnSyntax.For.Stuff()";
}
这叫作“避免编译”,输出结果为:
.class {
filter:
ms:alwaysHasItsOwnSyntax.For.Stuff();
}
作用域
LESS 中的作用域跟其他编程语言非常类似,首先会从本地查找变量或者混合模块,如果没找到的话会去父级作用域中查找,直到找到为止。
@var: red;
#page {
@var: white;
#header {
color: @var; // white
}
}
#footer {
color: @var; // red
}
!important关键字
调用时在混合后面加上!important关键字表示将混合带来的所有属性标记为!important:
.mixin (@a: 0) {
border: @a;
boxer: @a;
}
.unimportant {
.mixin(1);
}
.important {
.mixin(2) !important;
}
编译成:
.unimportant {
border: 1;
boxer: 1;
}
.important {
border: 2 !important;
boxer: 2 !important;
}
LESS速查的更多相关文章
- 常用的14种HTTP状态码速查手册
分类 1xx \> Information(信息) // 接收的请求正在处理 2xx \> Success(成功) // 请求正常处理完毕 3xx \> Redirection(重定 ...
- jQuery 常用速查
jQuery 速查 基础 $("css 选择器") 选择元素,创建jquery对象 $("html字符串") 创建jquery对象 $(callback) $( ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- 《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册
<zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ...
- .htaccess下Flags速查表
Flags是可选参数,当有多个标志同时出现时,彼此间以逗号分隔. 速查表: RewirteRule 标记 含义 描述 R Redirect 发出一个HTTP重定向 F Forbidden 禁止对URL ...
- IL指令速查
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- Linux命令速查手册,超详细Linux命令教程
一.常用命令速查 ls cd pwd cat more less tail head cp scp mv mkdir rmdir touch rm ps kill top free clear tre ...
- 25个有用的和方便的 WordPress 速查手册
如果你是 WordPress 开发人员,下载一些方便的 WordPress 备忘单可以在你需要的时候快速查找.下面这个列表,我们已经列出了25个有用的和方便的 WordPress 速查手册,赶紧收藏吧 ...
- R之data.table速查手册
R语言data.table速查手册 介绍 R中的data.table包提供了一个data.frame的高级版本,让你的程序做数据整型的运算速度大大的增加.data.table已经在金融,基因工程学等领 ...
- HTML速查列表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
随机推荐
- Android http 的使用
1.okHttp https://github.com/square/okhttp 2.okhttp-utils https://github.com/hongyangAndroid/ok ...
- Protocol and Delegate协议和代理
1.什么是协议? OC协议仿照Java的接口.协议和接口,都是不同类的对象之间一种通信的机制.2.协议的基础语法 单纯的语言描述协议的语法,很难让人理解,主要因为在OC中协议是类对象的通信机制,他 ...
- c中的函数
一. 什么是函数 l 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. l 比如你用C语言 ...
- IOS contentOffset该如何理解
contentOffset是哪个点??? 首先从字面理解:内容偏移 我可是查了词典的!!! 对于contentOffset有的时候我们会产生错误理解. 我不想在这里介绍错误的理解避免不必要的混淆. 我 ...
- IOS 手势详解
在IOS中手势可以让用户有很好的体验,因此我们有必要去了解一下手势. (在设置手势是有很多值得注意的地方) *是需要设置为Yes的点击无法响应* *要把手势添加到所需点击的View,否则无法响应* 手 ...
- python 判断学期与学年
9,10,11,12,1 第一学期 2,3,4,5,6,7 第二学期 其中8月份放假,暂且放入第一学期.因为大部分学校都选在8月底开学 import datetime def getXNandXQ() ...
- raw_input() 与 input() __ Python
这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.举两个小例子. 1 >>> raw_input_A = raw_input(" ...
- 基于分布式、服务化的maven项目文件规划
引言 此文不是纯粹介绍maven概念,而是介绍一个具体的maven项目文件规划 这个规划可能适合于研发比较复杂的业务,这些业务有分布式和服务化的需要. 这个规划能够解决因为分布式和服务化要求而引起的项 ...
- linux命令 wget
Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...
- 每日Scrum(5)
进入冲刺第五天,软件的界面设计成为主打,收集学校的很多美图是我们组的任务: 问题在于软件已很难有很大的改进,大方向也都是变不了的