1. // 1.变量:颜色可做+-
  2. // from
  3. @nice-blue: #5B83AD;
  4. @light-blue: @nice-blue + #111;
  5. #header { color: @light-blue; }
  6. // to
  7. #header { color: #6c94be;}
  8.  
  9. // 2.混入(Mixins),#id,.class的样式直接添加
  10. // from
  11. .bordered {
  12. border-top: dotted 1px black;
  13. border-bottom: solid 2px black;
  14. }
  15. #backgroundcolor {
  16. background-color: #fcf;
  17. }
  18. #menu a {
  19. color: #111;
  20. .bordered;
  21. #backgroundcolor;
  22. }
  23. // 2.1 带参数混入
  24. .border-radius (@radius) {
  25. border-radius: @radius;
  26. -moz-border-radius: @radius;
  27. -webkit-border-radius: @radius;
  28. }
  29. #header {
  30. .border-radius(4px);
  31. }
  32. .button {
  33. .border-radius(6px);
  34. }
  35. // 3.嵌套规则
  36. // from
  37. #header {
  38. color: black;
  39. .navigation {
  40. font-size: 12px;
  41. }
  42. .logo {
  43. width: 300px;
  44. }
  45. }
  46. // to
  47. #header {
  48. color: black;
  49. }
  50. #header .navigation {
  51. font-size: 12px;
  52. }
  53. #header .logo {
  54. width: 300px;
  55. }
  56. // 套用伪类
  57. .clearfix {
  58. display: block;
  59. zoom: 1;
  60.  
  61. &:after {
  62. content: " ";
  63. display: block;
  64. font-size: 0;
  65. height: 0;
  66. clear: both;
  67. visibility: hidden;
  68. }
  69. }
  70.  
  71. // 4.运算:任何数字、颜色或者变量都可以参与运算。
  72. @base: 5%;
  73. @filler: @base * 2;
  74. @other: @base + @filler;
  75.  
  76. // color: #888 / 4;
  77. // background-color: @base-color + #111;
  78. // height: 100% / 2 + @filler;
  79.  
  80. // 5.函数 percentage, saturate, spin, lighten
  81. @base: #f04615;
  82. @width: 0.5;
  83.  
  84. .class {
  85. width: percentage(@width); // returns `50%`
  86. color: saturate(@base, 5%);
  87. background-color: spin(lighten(@base, 25%), 8);
  88. }
  89.  
  90. // 6.命名空间和访问器
  91. #bundle {
  92. .button {
  93. display: block;
  94. border: 1px solid black;
  95. background-color: grey;
  96. &:hover {
  97. background-color: white
  98. }
  99. }
  100. .tab { ... }
  101. .citation { ... }
  102. }
  103. #header a {
  104. color: orange;
  105. #bundle > .button;//引入
  106. }
  107.  
  108. // 7.作用域:拥有块级作用域{}
  109. @var: red;
  110. #page {
  111. @var: white;
  112. #header {
  113. color: @var; // white
  114. }
  115. }
  116. #footer {
  117. color: @var; // red
  118. }
  119. // 8.导入import, 同一个文件只能导入一次,@import xx 只有第一次语句有效
  120. @import "lib.css";
  121. @import "lib"; //lib.less;
  122. @imported-color: red;
  123. h1 { color: green; }
  124.  
  125. @import "library.less" screen and (max-width: 400px); // 通过media query指定的import
  126. @import "library.less"; // 无media query的import
  127.  
  128. .class {
  129. color: @importedColor; // 使用导入的变量
  130. }
  131. // to
  132. // 对应通过media query指定的import
  133. @media screen and (max-width: 400px) {
  134. h1 { color: green; }
  135. }
  136.  
  137. // 对应无media query的import
  138. h1 { color: green; }
  139. .class {
  140. // 使用导入的变量
  141. color: #ff0000;
  142. }
  143. // 8.1 在规则中导入
  144. pre {
  145. @import "library.less";
  146. color: @importedColor;
  147. }
  148.  
  149. // 9.字符串插值
  150. @base-url: "http://assets.fnord.com";
  151. background-image: url("@{base-url}/images/bg.png");
  152. // 10.选择器插值
  153. @name: blocked;
  154. .@{name} {
  155. color: black;
  156. }
  157. // 11.media query作为变量
  158. @singleQuery: ~"(max-width: 500px)";
  159. @media screen, @singleQuery {
  160. set {
  161. padding: 3 3 3 3;
  162. }
  163. }
  164. // to
  165. @media screen, (max-width: 500px) {
  166. set {
  167. padding: 3 3 3 3;
  168. }
  169. }

less学习的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  10. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. Linux CentOS 配置JDK环境

    一.下载JDK 下载JDK的方式有两种: 1.Linux中使用wget下载 1.使用命令安装wget yum install wget 2.下载 wget 'http://download.oracl ...

  2. JAVA构造时成员初始化的陷阱

    让我们先来看两个类:Base和Derived类.注意其中的whenAmISet成员变量,和方法preProcess(). 情景1:(子类无构造方法) class Base { Base() { pre ...

  3. http status code

    属于转载 http status code:200:成功,服务器已成功处理了请求,通常这表示服务器提供了请求的网页 404:未找到,服务器未找到 201-206都表示服务器成功处理了请求的状态代码,说 ...

  4. 关于SMARTFORMS文本编辑器出错

    最近在做ISH的一个打印功能,SMARTFORM的需求本身很简单,但做起来则一波三折. 使用环境是这样的:Windows 7 64bit + SAP GUI 740 Patch 5 + MS Offi ...

  5. iOS 多线程之GCD的使用

    在iOS开发中,遇到耗时操作,我们经常用到多线程技术.Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法,只需定义想要执行的任务,然后添加到适当的调度队列 ...

  6. SQL 数据优化索引建suo避免全表扫描

    首先什么是全表扫描和索引扫描?全表扫描所有数据过一遍才能显示数据结果,索引扫描就是索引,只需要扫描一部分数据就可以得到结果.如果数据没建立索引. 无索引的情况下搜索数据的速度和占用内存就会比用索引的检 ...

  7. MongoDB学习笔记三—增删改文档上

    插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...

  8. Merge Sorted Array

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  9. WPF自定义控件第一 - 进度条控件

    本文主要针对WPF新手,高手可以直接忽略,更希望高手们能给出一些更好的实现思路. 前期一个小任务需要实现一个类似含步骤进度条的控件.虽然对于XAML的了解还不是足够深入,还是摸索着做了一个.这篇文章介 ...

  10. MVVM大比拼之AngularJS源码精析

    MVVM大比拼之AngularJS源码精析 简介 AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档.这里推荐几个深度学习的资料: AngularJS学习笔记 作者: ...