less使用ch1--认识语法
@charset "utf-8"; //注释------------------------------
/*我是可以被编译出来的*/
//不能被编译出来 //变量-------------------------------------
@test_width: 300px; .div{
width:@test_width;
} //混合
.border{
border:1px solid #666;
}
.div2{
width:@test_width;
.border;
}
//混合--带参数
.border2(@border_width){
border:@border_width solid #222;
}
.test-mixin2{
.border2(2px);
color:red;
}
//混合--默认带值需要其他值可以传参
.border3(@border_width:2px){
border:@border_width dotted #333;
-webkit-border:@border_width dotted #333;
-moz-border:@border_width dotted #333;
-ms-border:@border_width dotted #333;
-o-border:@border_width dotted #333;
}
.test-mixin3{
.border3;
}
.test-mixin03{
.border3(1px);
} //匹配模式----------------------------------------
.sjborder{ //边框三角形:假如需要角朝下,(反方向)上边框设置颜色和solid,其他边框设为透明和dashed
width:0px;
height:0px;
overflow: hidden; border-width:5px;
border-color:red transparent transparent transparent;
border-style:solid dashed dashed dashed; //兼容ie6黑边问题,没有的边设为dashed
}
//匹配模式--边框三角 上 右 下 左 相当于js的if
.triangle(bottom, @w:5px, @c:#ccc){ //角朝上
border-width:@w;
border-color:transparent transparent @c transparent;
border-style:dashed dashed solid dashed;
}
.triangle(top, @w:5px, @c:#ccc){ //角朝下
border-width:@w;
border-color:@c transparent transparent transparent;
border-style:solid dashed dashed dashed;
}
.triangle(right, @w:5px, @c:#ccc){ //角朝左
border-width:@w;
border-color:transparent transparent transparent @c;
border-style:dashed dashed dashed solid;
}
.triangle(left, @w:5px, @c:#ccc){ //角朝右
border-width:@w;
border-color:transparent @c transparent transparent;
border-style:dashed solid dashed dashed;
}
.triangle(@_, @w:5px, @c:#ccc){ //@_ 始终都会匹配的,后面两个参数必须加上
width:0px;
height:0px;
overflow: hidden;
}
//定位例子
.pos(r){
position: relative;
}
.pos(a){
position: absolute;
}
.pos(f){
position: fixed;
}
.autosj1{
.triangle(right);
.pos(r);
}
.autosj2{
.triangle(bottom);
} //运算---------------------------------------------
@w:100px;
.w300{
width:@w + 200; //运算没强制带单位,至少一个带就可以
height:(@w+50)*2;
background-color:#333 - 10; //颜色很少运算
} //嵌套--------------------------------------
ul{ //嵌套层数多的比层数少的加载慢
li{
a{
span{
color:red;
}
&:hover{ //& 代表上一层选择器
color:yellow;
}
}
}
} //@arguments 变量-------------------------------
.border-arg(@w:5px, @type:solid, @c:red){
border:@arguments;
}
.border-arg{
.border-arg;
} //避免编译:输出不正确的css语法或使用less不认识的语法(适用于滤镜等)-------
.prevent-compile{
width: ~'calc(300px - 30px)'; //calc 让浏览器计算不是less计算
} //!important关键字(所有都会加上important适用于调试)---------------------------------
.bor-im{
.w300()!important;
}
less使用ch1--认识语法的更多相关文章
- java基础语法要点<一>(基于1.8)
http://yishouce.com/java/run http://www.shucunwang.com/RunCode/java/ 数据类型 8种基本数据类型及对应的 类型封装器 byte, s ...
- 第二章 Java 基本语法1
2.1关键字 1.定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词). 2.特点:关键字中所有字母都是小写字母. 3.分类: 用于定义数据类型的关键字:byte.short.int.lo ...
- JAVA 基础基本语法---常量与变量
JAVA 基础基本语法---常量与变量 语法:计算机能够识别的语言的规则: 0. 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hel ...
- Go语言语法说明
Go语言语法说明 go语言中的go func(){}() 表示以并发的方式调用匿名函数func 深入讲解Go语言中函数new与make的使用和区别 前言 本文主要给大家介绍了Go语言中函数new与ma ...
- Java基础语法-运算符
1算术运算符 1.1运算符和表达式 运算符:对常量和变量进行操作的符号. 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式. 不同运算符链接的表达式体现的是不同类型的表达式 ...
- Delphi(ObjectPascal)基础语法
一个程序分为两个部分:1.程序首部:program 来标识这是一个pascal程序 后面的是可执行文件的名称程序名称2.程序体:说明部分:数据先定义后使用执行部分:以begin开始,以end结束 ...
- Golang 基础之基础语法梳理 (二)
大家好,今天将梳理出的 Go语言基础语法内容,分享给大家. 请多多指教,谢谢. 本次<Go语言基础语法内容>共分为三个章节,本文为第二章节 Golang 基础之基础语法梳理 (一) Gol ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
随机推荐
- CyclicBarrier和CountDownLatch介绍
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp70 CyclicBarrier介绍 (一) 一个同步辅助类,它允许一组线 ...
- 第4阶段——制作根文件系统之分析init_post()如何启动第1个程序(1)
本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到,在init进程中内核挂接到根文件系统之后,会开始启动第一个应用程序: kernel_init函数代码如下: static int __in ...
- 第3阶段——内核启动分析之make menuconfig内核配置(2)
目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过m ...
- 201521123082 《Java程序设计》第14周学习总结
201521123082 <Java程序设计>第14周学习总结 标签(空格分隔):java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. Answ ...
- Beta的计划和人员的变动
一.新的成员和组长是否重选: 刘光华:先加入的一个帅哥,乐于助人,编码基础不是很好,但是有一颗热爱学习的心,会积极主动的完成自己的任务的,一句话宣言:我们的团队是最棒的! 程志铭:做事认真负责,工作脚 ...
- 201521123085 《Java程序设计》 第3周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- Java课程设计——计算器
1.团队课程设计博客链接 http://www.cnblogs.com/yuanj/p/7072137.html 2.个人负责模块或任务说明 确定课题并进行任务分工 编写计算器删除,清零,清空,小数点 ...
- 201521123001 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 答: 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需 ...
- geyear和getfullyear的区别
getYear(),IE中获得正确年份,但有的浏览器获取的是当前年份-1900的值.而IE是当大于2000时,直接加上1900 getFullYear(),都是可以获得正确年份. 所以建议使用getF ...
- python之线程相关的其他方法
一.join方法 (1)开一个主线程 from threading import Thread,currentThread import time def walk(): print('%s is r ...