上次写的一点居然忘了保存了,虽然说编辑器有自动保存的功能,但是昨天写的依然找不到了,/(ㄒoㄒ)/~~那好吧,重新开始写。

  1.上篇写到了Mixins(混入),如果你仔细看了上面的例子,你就会发现其实有一种嵌套用法我们一直在用,却没有明确的表现出来。先看下面的Html代码

 <div id="home">
<div id="top">top</div>
<div id="center">
<div id="left">left</div>
<div id="right">right</div>
</div>
</div>

上面的层级关系相信不用我多说,大家一看就能明白。如果这时让我们写Css是不是要#home{……}、#home #top{……}、#home #center #left{……},这样一个一个的嵌套,如果少写了几个就会造成书写的权重不够,从而导致以后的更改,或者是自己的校验造成很大的麻烦。所以就有必要看看Less是怎么干的了。

 #home {
color: blue;
width: 600px;
height: 500px;
border: outset;
#top {
border: outset;
width: 90%;
}
#center {
border: outset;
height: 300px;
width: 90%;
#left {
border: outset;
float: left;
width: 40%;
}
#right {
border: outset;
float: left;
width: 40%;
}
}
}

发现这里写样式就和Html一样,嵌套关系非常的明显。父子关系清晰,权重问题不用担心,最小的辈分权重最大,可以看看编译之后的效果:

  #home {
color: blue;
width: 600px;
height: 500px;
border: outset;
} #home #top {
border: outset;
width: 90%;
} #home #center {
border: outset;
height: 300px;
width: 90%;
} #home #center #left {
border: outset;
float: left;
width: 40%;
} #home #center #right {
border: outset;
float: left;
width: 40%;
}

编译之后就会发现,其实跟我们自己写的是一样的。他会把每个标签都写上,这样就不会担心权重的问题。

  既然有了嵌套,就不得不提到“&”,直接看下面的例子:

 a {
color: red;
text-decoration: none;
&:hover {  // 有 & 时解析的是同一个元素或此元素的伪类,没有 & 解析是后代元素
color: black;
text-decoration: underline;
}
}

然后是编译之后的效果:

  a {
color: red;
text-decoration: none;
}
a:hover {
color: black;
text-decoration: underline;
}

  2.既然说Less特别像JS,最少是不是能进行加减运算呢,其实还真能,但是怎么加减乘除运算呢,难道一个padding:5px+padding:5px=10px???当然不是了,请看下面的例子:

  @init: #111111;
@transition: @init*2;
.switchColor {
color: @transition;
}

在代码中定义了两个变量,第一个变量是@init,他代表着一个颜色#111111;然后@teansition是@init*2;其实我也蒙了,这是什么呢?请看编译完成之后的效果:

.switchColor {  color: #222222;  } 其实就是进行了简单的乘法,我们知道白色就是#FFFFFF,要是#AAAAAA*2呢?结果会是什么呢?首先看一下Less:

 @init:#AAAAAA;
@init2:@init*2;
.color{
color: @init2;
}

编译之后的Css文件:  .color {  color: #ffffff; }//也就是说最大就是#FFFFFF,不能超出这个范围了。

  到这里基本上Less的常用方法就是这些了。还有关于颜色的一些用法,因为我不是很常用,就不在这里一一赘述了。有兴趣的朋友可以去看Less的官网。 http://lesscss.org/#-color-functions

  最后能给大家一个非常使用的小工具,考拉,非常的方便的一个LESS编译小工具,关键是还有中文。http://pan.baidu.com/s/1jH95hBK

LESS的一点自己的理解(2)的更多相关文章

  1. [转载]对iOS开发中内存管理的一点总结与理解

    对iOS开发中内存管理的一点总结与理解   做iOS开发也已经有两年的时间,觉得有必要沉下心去整理一些东西了,特别是一些基础的东西,虽然现在有ARC这种东西,但是我一直也没有去用过,个人觉得对内存操作 ...

  2. LESS的一点自己的理解(1)

    写前端的时间也不短了,Less也用过几次,都是现学现用,没有仔细的梳理过,今天就有条理的梳理下.参考文章是一篇不错的哦.下面会附上链接的,废话不多说,开始正题. 首先应该说下什么是Less,Less是 ...

  3. react与redux的一点心得(理解能力有限,蜗牛进度)

    Redux是一款状态管理库,并且提供了react-redux库来与React亲密配合, 但是总是傻傻分不清楚这2者提供的API和相应的关系.这篇文章就来理一理. 如果要用一句话来概括Redux,那么可 ...

  4. 深入理解JS的delete

    原文链接: Understanding delete原文作者: Kangax原文日期: 2010年01月10日 翻译日期: 2014年02月07日 翻译人员: 铁锚 !!!!!!!!草稿版本的翻译完成 ...

  5. 深入理解JVM—字节码执行引擎

    原文地址:http://yhjhappy234.blog.163.com/blog/static/3163283220122204355694/ 前面我们不止一次的提到,Java是一种跨平台的语言,为 ...

  6. JavaScript——以简单的方式理解闭包

    闭包,在一开始接触JavaScript的时候就听说过.首先明确一点,它理解起来确实不复杂,而且它也非常好用.那我们去理解闭包之前,要有什么基础呢?我个人认为最重要的便是作用域(lexical scop ...

  7. [转] JavaScript 原型理解与创建对象应用

    这段时间把之前的 JavaScript 的笔记复习了一遍,又学习了一些新的内容,所以把自己的学习笔记加上个人理解在这里总结一下,并提供一个简单的应用示例,希望能帮助一些刚入门的朋友.主 要参考< ...

  8. 【Java】理解 UDDI 注册中心的 WSDL

    如何发布和查找 WSDL 服务描述 Web 服务描述语言(WSDL)有多种用法.特别是,根据应用程序的需要,WSDL 在 UDDI 注册中心有好几种使用方法.在这第 1 篇文章中(本系列共三篇),我们 ...

  9. 深入理解jdk和jre(转)

    转自:http://ihyperwin.iteye.com/blog/1513754 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家 ...

随机推荐

  1. freemodbus移植讲解 ZZ

    一   为什么要移植Freemodbus 为什么要移植Freemodbus,这个问题需要从两个方面来回答.第一,modbus是一个非常好的应用层协议,它很简洁也相对完善.对于还没有接触过modbus的 ...

  2. java日期处理函数

    java中获取本年第一天的日期 public static Timestamp getYearFirstDay() { Calendar calendar = Calendar.getInstance ...

  3. Android7.0 Phone应用源码分析(四) phone挂断流程分析

    电话挂断分为本地挂断和远程挂断,下面我们就针对这两种情况各做分析 先来看下本地挂断电话的时序图: 步骤1:点击通话界面的挂断按钮,会调用到CallCardPresenter的endCallClicke ...

  4. Asp.NetCore1.1版本没了project.json,这样来生成跨平台包

    本章将要和大家分享的是Asp.NetCore1.1版本去掉了project.json后如何打包生成跨平台包, 为了更好跟进AspNetCore的发展,把之前用来做netcore开发的vs2015卸载后 ...

  5. SQL Tuning 基础概述10 - 体会索引的常见执行计划

    在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...

  6. Linux下快速搭建php开发环境

    php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...

  7. JDBC调用存储过程的例子

    下面是我学到了Oracle存储过程,在这里跟大家简单的分享一下利用JDBC调用存储过程的例子: 废话就不啰嗦,现在就直接上机代码. 首先我利用的是Oracle中默认的 scott 数据库里的 emp员 ...

  8. firefox无法使用yslow的解决方案

    首先,Yslow不支持firefox 36及以上版本. 解决方案:使用yslow的书签版本 使用方法:1.访问这里 http://yslow.org/mobile/ 2.把页面最后的那个 Deskto ...

  9. icheck样式绑定与翻页保持

    官方文档:http://icheck.fronteed.com/ 使用基本样式 $('input').iCheck({ checkboxClass : 'icheckbox_square-blue', ...

  10. js正则表达test、exec和match的区别

    test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...