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 Studio 小提示,新建Activity
Android Studio是在google I/O大会上新发布的一个IDE,基于IntelliJ,Android开发除了Eclipse之外又多了一种选择. 在Android Studio中如何在当前 ...
- UIModalPresentationStyle和UIModalTransitionStyle
一.主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等 ...
- Android添加快捷方式(Shortcut)到手机桌面
Android添加快捷方式(Short)到手机桌面 权限 要在手机桌面上添加快捷方式,首先需要在manifest中添加权限. <!-- 添加快捷方式 --> <uses-permis ...
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- UIWebView的应用和其中的JS与OC间传值
现在有很多的应用已经采用了WebView和html语言结合的开发模式.html5一直很火因为一份代码可以在多个平台上运用啊,效果各不相同都很美观,也越来越有一些公司直接招后台程序员和html5程序员, ...
- 使用eclipse开发android准备工作
1.官网下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (注 ...
- spring.net (3)依赖注入基础
属性的注入: 在上篇例子中已经出现并解释过: <object id="dog" type="SpringDemo.Dog,SpringDemo" sing ...
- UIApplicationDelegate
App受到干扰时,UIApplication会通知它的delegate对象,让delegate处理系统事件. 项目中的AppDelegate已经遵守了UIApplicationDelegate协议 ...
- Java中的查找算法之顺序查找(Sequential Search)
Java中的查找算法之顺序查找(Sequential Search) 神话丿小王子的博客主页 a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数 ...
- run() 和 start() 的区别
1) start: 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面(指主线程下面)的代码.通过调用Thread类的start()方法来启动一个 ...