Less-mixin函数基础二
//mixin函数 基础使用方法 --包含选择器,example:
.test(){
&:hover{
border:1px solid red;
}
} button{
.test;
} //output css
button:hover {
border: 1px solid red;
} --命名空间,example:
.test(){
.Height{
height:80px;
}
} //grammar 1
.study{
.test>.Height;
} //grammar 2
.study{
.test > .Height;
} //grammer 3
.study{
.test .Height;
} //grammar 4
.study{
.test.Height;
} //output css
.study {
height: 80px;
} 小结:你可以在mixin函数中定义多个函数,并可以用以上4种任意方法去调用,他们之间的空格和>都是可选的
可有的类似于JavaScript中的方法对象,区别在于他的调用没有那么严谨,example:
#outer > .inner;
#outer > .inner();
#outer .inner;
#outer .inner();
#outer.inner;
#outer.inner();
全部都是可以成功调用#outer mixin函数中的.inner函数--(此处来自文档) --保护命名空间,example: @mianColor:red; //grammar 1
#test when(@mianColor=red){
.childColor{
border:1px solid blue;
}
} //output css
#test .childColor {
border: 1px solid blue;
} //grammar 2
#test when(@mianColor=red){
.childColor(){
border:1px solid blue;
}
.study{
.childColor;
}
} //output css
#test .study {
border: 1px solid blue;
} 当这个时候.childColor函数无论是立即执行还是指定条件执行在#test外部都是无法调用的,这样起到命名空间保护
这里的 when(@mianColor=red)起到了当在指定条件为true是才会执行
注意:@mianColor的声明必须在外部才会起到作用,example:
when true
//grammar 1
@mianColor:red;
#test when(@mianColor=red){
.childColor{
border:1px solid blue;
}
} //grammar 2
@mianColor:blue;
#test when(@mianColor=red){
.childColor{
border:1px solid blue;
}
}
@mianColor:red; when false
//grammar 1
@mianColor:blue;
#test when(@mianColor=red){
.childColor{
border:1px solid blue;
}
} //grammar 2
@mianColor:red;
#test when(@mianColor=red){
.childColor{
border:1px solid blue;
}
}
@mianColor:blue; //error grammar 1
@mianColor:red;
#test when(@mianColor=red){
@mianColor:blue;
.childColor{
border:1px solid blue;
}
}
这样的最终结果还是为真 //error grammar 2
@mianColor:blue;
#test when(@mianColor=red){
@mianColor:red;
.childColor{
border:1px solid blue;
}
}
这样的最终结果还是为假 小结:内部不会改变外部声明变量,同时外部也不能调取内部函数,这其实和JavaScript函数的闭包是一个道理
作者:leona
原文链接:http://www.cnblogs.com/leona-d/p/6296580.html
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
Less-mixin函数基础二的更多相关文章
- python 18 函数基础二
转自 http://www.cnblogs.com/BeginMan/p/3173328.html 一.装饰器(decorators) 装饰器的语法以@开头,接着是装饰器函数的名字.可选参数. 紧跟装 ...
- 函数基础(二)(day11整理)
目录 昨日内容 函数的定义 函数的三种定义方式 空函数 有参函数 无参函数 函数的调用 函数的返回值 函数的参数 形参 实参 今日内容 可变长参数 可变长形参 可变长实参(仅作了解) 函数对象 函数嵌 ...
- PHP基础入门(二)【PHP函数基础】
PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...
- LR函数基础(一)(二)
LR函数基础(一) 函数用到:web_reg_find(). lr_log_message(). lr_eval_string().strcmp().atoi() Action(){ web_r ...
- Ruby语法基础(二)
Ruby语法基础(二) 继续ruby的学习,这次主要把目光放到运算符,条件判断,循环,方法,以及其他ruby特有的基本概念上 运算符 算术运算符:+,-,/,%,**,值的注意的是,ruby中一切皆为 ...
- jdbc基础 (二) 通过properties配置文件连接数据库
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- 【2017-03-05】函数基础、函数四种结构、ref和out参数、递归
一.函数基础 1.函数/方法:非常抽象独立完成某项功能的一个个体 2.函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 3.分类 固定功能函数高度抽象函数 4.函数四要素:输入, ...
- PHP基础入门(三)---PHP函数基础
PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...
随机推荐
- android获取系统应用大小的方法
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-s ...
- FreeSWITCH小结:关于sip的UDP、TCP与MTU
1.关于SIP的UDP与MTU的关系 如果sip消息的大小超过了MTU,则有可能被网络中的某一节点分片,而UDP处理分片会有很大的问题,从而导致sip消息传输失败.要解决该问题的话,两种方案: 1)减 ...
- Atitit.常用分区api的attilax总结
Atitit.常用分区api的attilax总结 1. Api 来源与oracle与mysql1 1.1. 分区定义partition by range (uid) 使用VALUES LESS TH ...
- 谷歌上不去了,长久解决方式。能够稳定高速上Google和Gmail
稳定上Google的神器 国内Google很不稳定.速度慢且常常上不去,通过"我要上Google".能够安全稳定地使用Google.Gmail.Google+等平时须要特殊手段才干 ...
- flink checkpoint 源码分析 (二)
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/8260370.html flink checkpoint 源码分析 (一)一文主要讲述了在JobMan ...
- AVCapture编程理解
AVCapture用于媒体采集,在媒体采集的流程中,会存在如下几个对象: AVCaptureDevice.这里代表抽象的硬件设备. AVCaptureInput.这里代表输入设备(可以是它的子类),它 ...
- Hive学习笔记——保存select结果,Join,多重插入
1. 保存select查询结果的几种方式: 1.将查询结果保存到一张新的hive表中 create table t_tmp as select * from t_p; 2.将查询结果保存到一张已经存在 ...
- ECLIPSE 不能连接MYSQL 8 的现象
连接mysql 出现:java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'. mysq ...
- ABP中连接已有数据库执行Sql或存储过程
一:在EntityFramework项目中创建类如:ZSWDbContext. public class ZSWDbContext : AbpDbContext { public ZSWDbConte ...
- Linux下面 多线程死锁问题的调试
最近写服务,经常是单进程,多线程的,加了各种锁,很担心出现死锁问题,专门学习了一下死锁问题的诊断. 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种 ...