LESS学习笔记(上)
2015-11-26 16:46
316 查看
HTML标记:
1、变量——Variables 【定义变量用@前缀】
less编译:
css输出:
less编译:
css输出:
3、嵌套规则——Nested Rules【后代选择符&】
less编译:
4、Functions & Operations
less编译:
css输出:
5、命名空间——Namespaces
less编译:
css输出:
6、变量范围——Scope
less编译:
css输出:
7、extend是一个Less伪类,它会合并它所在的选择其和它所匹配的引用。类似继承
less编译:
css输出:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>LESS-demo</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <h3>这是一个标题</h3> <p class="p1">这是一段文字</p> <ul> <li class="list1 border">list1</li> <li class="list2">list2</li> <li class="list3">list3</li> <li class="list4 boxshadow">list4</li> <li class="list5">list5</li> </ul> <h4 class="h4">这是一个标题</h4> <div id="nested"> <h1><a href="#">嵌套规则——Nested</a></h1> <p>less 嵌套规则实例</p> </div> <br> <div id="special" class="fr"> <p class="green">这个段落的文字是绿色的</p> </div> <p class="p2">这个段落的class是p2</p> <p class="p3">这个段落的class是p3</p> <div class="button1"> <a href="#">按钮</a> <span class="button">模拟按钮样式</span> </div> <div class="scope"> <h3>变量范围</h3> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> <div class="extend"> <ul> <li class="inline">列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> </body> </html>
1、变量——Variables 【定义变量用@前缀】
less编译:
@charset "utf-8"; // 注释:双斜杠:单行注释 css不解析 /*这种多行注释,css会解析*/ body{ background: #eee; } //注:在Less中的变量实际上就是一个“常量”,因为它们只能被定义一次。 //1、变量——Variables 【定义变量用@前缀】 @color:#f00; @fs14: 14px; h3{ color:@color; font-size: @fs14; } // 变量计算 @blue: #5b83ad; @lightBlue: @blue + #111; .p1{ color:@lightBlue; //color:@blue; } //定义一个变量名为变量 @red:#f00; @newRed: "red"; .list1{ color: @@newRed; }
css输出:
@charset "utf-8"; /*这种多行注释,css会解析*/ body { background: #eee; } h3 { color: #ff0000; font-size: 14px; } .p1 { color: #6c94be; } .list1 { color: #ff0000; }//2、混入——Mixins
less编译:
//混入其实就是一种嵌套,它充许你将一个类嵌入到另一个类中,而被嵌入的这个类也称为是一个变量。 //2、混入——Mixins .border{ border: 1px solid red; } .h4{ .border; } //另外混入也像一个带有参数的functions,如下在的例子: .roundedCorners(@radius:5px) { -moz-border-radius: @radius; -webkit-border-radius: @radius; border-radius: @radius; } .list4{ .border; //.roundedCorners; .roundedCorners(10px); } //@arguments。@arguments在Mixins中具是一个很特别的参数,当Mixins引用这个参数时,他将表示所有的变量 .boxShadow(@x:0,@y:0,@blur:1px,@color:#000){ -moz-box-shadow: @arguments; -webkit-box-shadow: @arguments; box-shadow: @arguments; } .h4{ .boxShadow(2px,2px,3px,#f36); }
css输出:
.border { border: 1px solid red; } .h4 { border: 1px solid red; } .list4 { border: 1px solid red; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } .h4 { -moz-box-shadow: 2px 2px 3px #ff3366; -webkit-box-shadow: 2px 2px 3px #ff3366; box-shadow: 2px 2px 3px #ff3366; }
3、嵌套规则——Nested Rules【后代选择符&】
less编译:
#nested{ display: inline; float: left; h1{ font-size: 26px; font-weight: bold; a{ color: #f36; text-decoration: none; &:hover{ color: #63f; text-decoration: underline; } } } p{ font-size: 12px; } } // 在Less中嵌套书写中有没有&区别,有&时解析的是同一个元素或此元素的伪类,没有&解析是后代元素 #special{ &.fr{ float: right; } .green{ color: green; } }css输出:
#nested { display: inline; float: left; } #nested h1 { font-size: 26px; font-weight: bold; } #nested h1 a { color: #f36; text-decoration: none; } #nested h1 a:hover { color: #63f; text-decoration: underline; } #nested p { font-size: 12px; } #special.fr { float: right; } #special .green { color: green; }
4、Functions & Operations
less编译:
// Operations主要是针对任何数字、颜色、变量的操作,可以对其是行加、减、、乘、除或者更复杂的综合运算 // Functions主要是针对Color funtions,Less提供了多种变换颜色的功能 @base: 5%; @filter: @base*2; .nested p{ color: #888 / 2; height: 100% / 2 + @filter; } @var: 1px + 1; //“@var: 1px + 1”,Less最终解析的值是“2px” .p2{ clear: both; border: @var solid black; width: @var + 60 *3; height: (@var + 10) *4; } @num: 20px; .p3{ background: #fff; width: @num + 60 *3; height: (@num + 10) *4; }
css输出:
.nested p { color: #444444; height: 60%; } .p2 { clear: both; border: 2px solid #000000; width: 182px; height: 48px; } .p3 { background: #fff; width: 200px; height: 120px; }
5、命名空间——Namespaces
less编译:
#namespace{ .button(){ display: inline-block; padding: 5px 10px; border: 1px solid #000; color: blue; background: #ddd; text-decoration: none; &:hover{ background: #fff; } } } .button1 a { #namespace > .button; color: orange; } .button{ #namespace > .button; cursor: pointer; }
css输出:
.button1 a { display: inline-block; padding: 5px 10px; border: 1px solid #000; color: blue; background: #ddd; text-decoration: none; color: orange; } .button1 a:hover { background: #fff; } .button { display: inline-block; padding: 5px 10px; border: 1px solid #000; color: blue; background: #ddd; text-decoration: none; cursor: pointer; } .button:hover { background: #fff; }
6、变量范围——Scope
less编译:
@color01: red; .scope{ margin-top: 10px; border-top: 1px solid #333; @color01: green; h3{ color: @color01; } } .scope li{ color: @color01; }
css输出:
.scope { margin-top: 10px; border-top: 1px solid #333; } .scope h3 { color: #008000; } .scope li { color: #ff0000; }
7、extend是一个Less伪类,它会合并它所在的选择其和它所匹配的引用。类似继承
less编译:
.extend li{ margin: 10px 0; background: #ccc; &:extend(.inline); } .inline{ color: blue; }
css输出:
.extend li { margin: 10px 0; background: #ccc; } .inline, .extend li { color: blue; }未完待续......
相关文章推荐
- std::less()用法及分析分析
- find中的-print0和xargs中-0的奥妙【转】
- java 两个时间字符串的时间差
- Windows下安装OpenSSL及其使用
- Volley源码解析
- Ubuntu configuration Java environment
- NSURLSessionDataTask使用
- _视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
- SpringMVC工作原理
- yum安装ftp及详细配置及日志设置
- android数据存储之数据库存储技术
- iOS UITableViewCell的单选
- spring 配置文件属性
- Gradle多渠道打包
- PHP Yii框架 命令行创建应用(shop)
- H5技术的潮流----阿冬专栏
- 浅谈二进制文件读写和文本文件读写的区别
- easyui tree/TreeGrid使用:逐级加载、指定节点刷新、全部展开
- WPF MVVM 中怎样在ViewModel总打开的对话框在窗体之前
- 锋利的jQuery——window.onload与$(document).ready()对比