1.简单的嵌套;

less中显示:

css中显示

2.作为值的变量:

less中:

@green: #801f77;
@baise:white;

header,footer{
background: @green;
h1{
color: @baise;
}
}

3.作为属性名和选择器名:

//作为选择器和属性名的变量

@kuandu:width;

.@{kuandu}{
@{kuandu}:150px
}

//作为URL的变量
@imgurl:"https://www.baidu.com/img/";
header{
background: @green url("@{imgurl}bdlogo.png");
height: 500px;
}

4.  //定义多个相同名称的变量时

@var: 0;

.class {
@var: 1;
.brass {
@var: 2;
three: @var; //这是的值是3
@var: 3;
}
one: @var; //这是的值是1
}

5.

//基本混合
.font_hn{
color: red;
font-family: microsoft yahei, "黑体", Arial, Simsun, "Arial Unicode MS", Mingliu, Helvetica;
}
h1{
font-size: 28px;
.font_hn;
}
h2{
font-size: 24px;
.font_hn;
}
//不带输出的混合,类名后面使用()
.font_hn(){
color: red;
font-family: microsoft yahei, "黑体", Arial, Simsun, "Arial Unicode MS", Mingliu, Helvetica;
}
h1{
font-size: 28px;
.font_hn;
}
h2{
font-size: 24px;
.font_hn;
}

//带选择器的混合
.my-hover-mixin {
&:hover {
border: 1px solid red;
}
}
button {
.my-hover-mixin();
}
h1{
.my-hover-mixin();
}

//带参数的混合
.border(@color){
border: 1px solid @color;
}
h1{
&:hover{
.border(green);
}
}
h2{
&:hover{
.border(#000);
}
}
/*带参数并且有默认值的混合*/
//带参数并且有默认值的混合
.border_you(@color:red){
border: 1px solid @color;
}
h1{
&:hover{
.border_you();
}
}
h2{
&:hover{
.border_you(yellow);
}
}

6.

//基本混合
.font_hn{
color: red;
font-family: microsoft yahei, "黑体", Arial, Simsun, "Arial Unicode MS", Mingliu, Helvetica;
}
h1{
font-size: 28px;
.font_hn;
}
h2{
font-size: 24px;
.font_hn;
}
//不带输出的混合,类名后面使用()
.font_hn(){
color: red;
font-family: microsoft yahei, "黑体", Arial, Simsun, "Arial Unicode MS", Mingliu, Helvetica;
}
h1{
font-size: 28px;
.font_hn;
}
h2{
font-size: 24px;
.font_hn;
}

//带选择器的混合
.my-hover-mixin {
&:hover {
border: 1px solid red;
}
}
button {
.my-hover-mixin();
}
h1{
.my-hover-mixin();
}

//带参数的混合
.border(@color){
border: 1px solid @color;
}
h1{
&:hover{
.border(green);
}
}
h2{
&:hover{
.border(#000);
}
}
/*带参数并且有默认值的混合*/
//带参数并且有默认值的混合
.border_you(@color:red){
border: 1px solid @color;
}
h1{
&:hover{
.border_you();
}
}
h2{
&:hover{
.border_you(yellow);
}
}
/*带多个参数的混合*/
//带多个参数的混合
//.mixin(@color; @padding:xxx; @margin: 2) {
// color-3: @color;
// padding-3: @padding;
// margin: @margin @margin @margin @margin;
//}

//.divmaizi{
// .mixin(red;)
//}

//.divmaizi {
// .mixin(1,2,3;something, ele;132);
//}
//.divmaizi {
// .mixin(1,2,3);
//}
.divmaizi {
.mixin(1,2,3;);
}

//如果传参的括号里面全部都是以“,”分割,那么会依次传给各个参数值,
//如果传参的括号里面既有“,”又有“;”那么,会把“;”前面的看作一个整体,传给一个参数值

/*定义多个具有相同名称和参数数量的混合*/
//.mixin(@color) {
// color-1: @color;
//}
//.mixin(@color; @padding:2) {
// color-2: @color;
// padding-2: @padding;
//}
//.mixin(@color; @padding; @margin: 2) {
// color-3: @color;
// padding-3: @padding;
// margin: @margin @margin @margin @margin;
//}
//
//.some .selector div {
// .mixin(#008000);
//}

//命名参数
/*命名参数*/

.mixin(@color: black; @margin: 10px; @padding: 20px) {
color: @color;
margin: @margin;
padding: @padding;
}

.class1 {
.mixin(@margin: 20px; @color: #33acfe);
}
.class2 {
.mixin(#efca44; @padding: 40px);
}
.class3{
.mixin(@padding: 80px;)
}

/*@arguments;*/
.border(@x:solid,@c:red){
border: 21px @arguments;
}
.div1{
.border(solid);
}

//
.border(all,@w: 5px){
border-radius: @w;
}
.border(t_l,@w:5px){
border-top-left-radius: @w;
}
.border(t_r,@w:5px){
border-top-right-radius: @w;
}
.border(b-l,@w:5px){
border-bottom-left-radius: @w;
}
.border(b-r,@w:5px){
border-bottom-right-radius: @w;
}

footer{
.border(t_l,10px);
.border(b-r,10px);
background: #33acfe;
}

//混合的返回值
.average(@x, @y) {
@average: ((@x + @y) / 2);
@he:(@x + @y);
}

div {
.average(16px, 50px);
padding: @average;
margin: @he;
}

7.嵌套规则:

//传统写法
//header{
// width: 960px;
//}
//header h1 {
// font-size: 18px;
// color: green;
//}
//header .logo{
// width: 300px;
// height: 150px;
// background: darkred;
//}
//header .logo:hover{
// background: forestgreen;
//}

//less写法
//header{
// width: 960px;
// h1{
// font-size: 18px;
// color: green;
// }
// .logo{
// width: 300px;
// height: 150px;
// background: darkred;
// &:hover{
// background: forestgreen;
// }
// }
//}

.a{
.b{
.c{
color: 123;
}
}
}
.a{
.b{
.c&{
color: 123;
}
}
}

p, a, ul, li {
border-top: 2px dotted #366;
& & {
border-top: 0;
}
}

a , b ,c{
& & & {
border-top: 0;
}
}

8.运算:

//.wp{
// margin: 0 auto;
// background: forestgreen;
// width: 450px + 450;
// height: 400 + 400px;
//}

//涉及到优先级,使用()区分优先级
.wp{
margin: 0 auto;
width: (550 - 50)*2 + 24px;
height: 400 + 400px;
background:#ff0000 - 55; //#000021 c8c8c8
}

//rgb模式他的值是 0~255 ,当你的值超过255 ,那么就会以255进行相加操作

9.函数:

.wp {
background: #ff0000;
z-index: blue(#050506);
}

10.命名空间:

//#bgcolor(){
// background: #ffffff;
// .a{
// color: #888888;
// &:hover{
// color: #ff6600;
// }
// .b{
// background: #ff0000;
// }
// }
//}
//
//.wi{
// background: green;
// color: #fff;
// .a{
// color: green;
// background: #ffffff;
// }
//}
//
//.bgcolor1{
// background: #fdfee0;
// #bgcolor>.a;
//}
//.bgcolor2{
// .wi>.a;
//}

//省略>写法
#bgcolor(){
background: #ffffff;
.a{
color: #888888;
&:hover{
color: #ff6600;
}
.b{
background: #ff0000;
}
}
}
.wi {
background: green;
color: #fff;
.a {
color: green;
background: #ffffff;
}
}
.bgcolor1{
background: #fdfee0;
#bgcolor .a;
}
.bgcolor2{
.wi .a;
}

11.作用域:

@clolor:#ffffff;

.bgcolor{
width: 50px;
a{
color: @clolor;
}
}

@clolor:#ff0000;

12.关键字important

.foo (@bg: #f5f5f5, @color: #900) {
background: @bg;
color: @color;
font-size: 16px;
font-weight: 900;
}

.unimportant {
.foo();
}
.important {
.foo() !important;
}

13.条件表达式

//.mixin (@a) when (lightness(@a) >= 50%) { //255/2=127.5
// background-color: black;
//}
//.mixin (@a) when (lightness(@a) < 50%) {
// background-color: white;
//}
//.mixin (@a) {
// color: @a;
//}
//.class1 { .mixin(#7e7e7e) } //221 > 127.5 >50% background-color: black; 7e7e7e = 126
//.class2 { .mixin(#808080) } //85 <127.5 <50% background-color: white; 808080 = 128

//iscolor,isnumber.....判断值得类型
//.mixin (@a) when (iscolor(@a)) { //255/2=127.5
// background-color: black;
//}
//.mixin (@a) when (isnumber(@a) ) {
// background-color: white;
// shuzi:shuzi;
//}
//.mixin (@a) {
// color: @a;
//}
//.class1 { .mixin(#7e7e7e) } //background-color: black;
//.class2 { .mixin(123) } //background-color: white;

//ispixel,ispercentage.....单位检查函数
.mixin (@a) when (ispixel(@a)) {
background-color: black;
}
.mixin (@a) when (ispercentage(@a) ) {
background-color: white;
}
.mixin (@a) {
width: @a;
}
.class1 { .mixin(960px) } //background-color: black; width:960px
.class2 { .mixin(95%) } //background-color: white;width:95%

14.循环:

//.loop(@counter) when (@counter > 0) {
// .loop((@counter - 1)); // 递归调用自身 4 3 2 1 0
// width: (10px * @counter); // 每次调用时产生的样式代码 50px 40px 30px 20px 10px
//}
//
//div {
// .loop(5); // 调用循环
//}

//.loop(@counter) when (@counter > 0) {
// h@{counter}{
// padding: (10px * @counter);
// }// 每次调用时产生的样式代码
// .loop((@counter - 1)); // 递归调用自身
//}
//
//div {
// .loop(6); // 调用循环
//}

.loop(@counter) when (@counter < 7) {
h@{counter}{
padding: (10px * @counter);
}// 每次调用时产生的样式代码
.loop((@counter + 1)); // 递归调用自身
}

div {
.loop(1); // 调用循环
}

14.合并属性

//+ 合并以后,以逗号分割属性值
.mixin() {
box-shadow+: inset 0 0 10px #555 ;
}
.myclass {
.mixin();
box-shadow+: 0 0 20px black;
}

//+_ 合并以后,以空格分割属性值
.a(){
background+:#f60;
background+_:url("/sss.jod") ;
background+:no-repeat;
background+_:center;
}
.myclass {
.a()
}
//background+_:#f60 url("/sss.jod");

15.其他函数:

//.x(1) { x:11 }
//.x(2) { y:22 }
//.x(@x) when (default()) {z:@x}
//body{
//// background: color("#f60");
//// width: convert(1s,ms);
//// background: data-uri('arr.jpg');
//}
//.div1{
// .x(1)
//}
//.div2{
// .x(123)
//}

//.x(@x) when (ispixel(@x)) {width:@x}
//.x(@x) when not(default()) {padding:(@x/10)}
//
//.div1{
// .x(100px)
//}
//
//.div2{
// .x(100cm);
// color:red;
//}

div{
width: unit(100px);
}

16.字符串函数,长度相关的函数。

div{
// d:escape('#, ^, (, ), {, }, |, :, >, <, ;, ], [ , =');
// filter: e("ms:alwaysHasItsOwnSyntax.For.Stuff()");
// filter: ~"ms:alwaysHasItsOwnSyntax.For.Stuff()";
//// width: calc(960px-100px);
// width: calc(~'960px-100px');
// height: calc(~'960px-100px');
// font-family: %( "%a %a" , "Microsoft", "YaHei");
// font-family: ""Microsoft" "YaHei"";

// font-family: %( "%A %a" , "Microsoft", "YaHei");
// font-family: "%22Microsoft%22 "YaHei"";

// font-family: %( "%s %s" , F60, "YaHei");

// font-family: %( "%s %s" , "Microsoft", "YaHei");
// font-family: "Microsoft YaHei";

//content: replace("Hello, maizi", "maizi", "LESS");
// content: replace("Hello, A", "A", "B");

//n:length(1px solid #0080ff);

@list: "A", "B", "C", "D";
n:extract(@list,4)
}

17.数学函数:

div{
// width: ceil(2.9999999px); //1.ceil()函数 向上取整
// width: floor(2.9999999px); //1.floor()函数 向下取整
// width:percentage( 0.5px); 将浮点数转换为百分比

// 取整和四舍五入
// width:4.5px ;
// width:round(4.5px) ;
//
// width:4.4px ;
// width:round(4.4px) ;

// 计算一个数的平方根,原样保持单位。
// width: sqrt(16px);
// width: sqrt(9px);

// 计算数字的绝对值,原样保持单位。
// top: -999px;
// top: abs(-999px);

// width: sin(1); //1弧度角的正弦值
// width: sin(1deg);//1角度角的正弦值
// width: sin(1grad); //1百分度角的正弦值

// 反正弦值
// width: asin(-0.84147098);
// width: asin(0);
// width: asin(2);

// width: cos(1); //1弧度角的余弦值
// width: cos(1deg);//1角度角的余弦值
// width: cos(1grad); //1百分度角的余弦值

// width: tan(1); //1弧度角的正切值
// width: tan(1deg);//1角度角的正切值
// width: tan(1grad); //1百分度角的正切值

// PI
// width: pi();

// 乘方运算
// width: pow(2px,2);
// width: pow(3px,2);
// width: pow(4px,2);
// width: pow(25px,0.5);

// mod()取余
// width: mod(3px,2);

width: min(3px,2px,1px);
width: max(3px,2px,1px);
}

18.

//如果一个值是一个数字,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (isnumber(@x)) {
// x:@x
//}
//div{
//.m(123);
//.m(ABC);
//}

//如果一个值是一个字符串,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (isstring(@x)) {
// x:@x
//}
//div{
//.m(123);
//.m("ABC");
//}

//如果一个值是一个颜色,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (iscolor(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
//}

//如果一个值是一个关键字,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (iskeyword(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
// .m(ABC);
//}

//如果一个值是一个url地址,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (isurl(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
// .m(ABC);
// .m(url(arr.jpg));
//}

//如果一个值是带像素长度单位的数字,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (ispixel(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
// .m(ABC);
// .m(url(arr.jpg));
// .m(220px);
// .m(220cm);
//}

//如果一个值是带em长度单位的数字,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (isem(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
// .m(ABC);
// .m(url(arr.jpg));
// .m(220px);
// .m(240em);
//}

//如果一个值是带百分比单位的数字,返回'真(true)',否则返回'假(false)'.
//.m(@x) when (ispercentage(@x)) {
// x:@x
//}
//div{
// .m(123);
// .m("ABC");
// .m(red);
// .m(ABC);
// .m(url(arr.jpg));
// .m(220px);
// .m(240em);
// .m(260%);
//}

//如果一个值是带指定单位的数字,返回'真(true)',否则返回'假(false)'.
.m(@x) when (isunit(@x,em)) {
x:@x
}
div{
.m(123);
.m(220px);
.m(240em);
.m(280em);
.m(290em);
.m(260%);
}

19.颜色就不看了。

less点滴的更多相关文章

  1. iPhone应用开发 UITableView学习点滴详解

    iPhone应用开发 UITableView学习点滴详解是本文要介绍的内容,内容不多,主要是以代码实现UITableView的学习点滴,我们来看内容. -.建立 UITableView DataTab ...

  2. (转载)zeromq使用注意点滴

    zeromq使用注意点滴 1.关于介绍zeromq的就不说了,可以自己去看官方guide很详细 2.主要说下在使用过程中需要注意的地方 1)使用如果使用c++的接口的时候,在你自己的类中或者apach ...

  3. [你必须知道的.NET]第三十三回,深入.NET 4.0之,Lazy<T>点滴

    发布日期:2009.10.29 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 对象的创建方式,始终代表了软件工业的生产力方向,代表了先进软件技 ...

  4. Phonegap学习点滴(2) -- 网络状态检测

    Phonegap学习点滴(2) -- 网络状态检测  http://blog.csdn.net/x251808026/article/details/16992943 方法一:在MainActivit ...

  5. scikit-learn点滴

    scikit-learn点滴 scikit-learn是非常漂亮的一个机器学习库,在某些时候,使用这些库能够大量的节省你的时间,至少,我们用Python,应该是很难写出速度快如斯的代码的. sciki ...

  6. 【点滴积累】通过特性(Attribute)为枚举添加更多的信息

    转:http://www.cnblogs.com/IPrograming/archive/2013/05/26/Enum_DescriptionAttribute.html [点滴积累]通过特性(At ...

  7. unity Character Controller 点滴

    unity Character Controller  点滴 1.今天在做角色的时候,发现人物跳不起来,原来设置这个属性即可,Step Offset, 这个是台阶的高度,这个值设置的越大,人物爬的越高 ...

  8. Linux内存点滴 用户进程内存空间

    Linux内存点滴 用户进程内存空间 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的. VIRT, Virtual Image (kb) RES, Re ...

  9. Python-memcached的基本使用 - Flynewton成长点滴 - 开源中国社区

    Python-memcached的基本使用 - Flynewton成长点滴 - 开源中国社区 Python-memcached的基本使用 发表于3年前(2010-12-04 00:02)   阅读(9 ...

  10. 点滴的积累---J2SE学习小结

    点滴的积累---J2SE学习小结 什么是J2SE J2SE就是Java2的标准版,主要用于桌面应用软件的编程:包括那些构成Java语言核心的类.比方:数据库连接.接口定义.输入/输出.网络编程. 学习 ...

随机推荐

  1. 解决键盘输入被JDB占用的问题

    解决键盘输入被JDB占用的问题 本周的任务"迭代和JDB"在使用JDB调试时需要键盘输入数据,但我在正确的位置输入数据后发现JDB提示如图所示的错误. 上网查找后得知该错误的产生是 ...

  2. H5 C3

    为什么学习HTML5 a.因为语义化标签的出现网页结构更加清晰 b.因为多媒体的出现,让网页播放音频和视频没有了依赖 c.因为CSS3的出现,让页面变得更加炫酷和多彩 d.因为新的API的出现,使的开 ...

  3. delphi with... do和自定义变量重名

    with类中的变量和外部变量如果重名,会将外部变量覆盖,这点需要注意!!!!!

  4. VB调用C# dll

    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319注册regasm myTest.dll /tlb:myTest.tlb

  5. svn 目录

    svn介绍 SVN与Git的区别 SVN服务的模式和多种访问方式 多种访问原理图解与优缺点 SVN安装部署 svn 部署 配置 配置svn用户及密码 配置svn用户及权限 svn 启动命令讲解 svn ...

  6. python之wtforms组件

    作用 生成 HTML 表单. form 表单验证. 基本使用 安装 pip3 install wtforms 示例 登录 from flask import Flask, render_templat ...

  7. mybatis 转义

    当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...

  8. [js]ajax-异源请求jsonp

    参考: http://www.cnblogs.com/whatisfantasy/p/6237713.html http://www.cnblogs.com/freely/p/6690804.html ...

  9. 25.75k8s

    扣子helm上传dm需要在  local下执行  helm repo index helm list --tls  (加上--tls才可以)

  10. HTML 鼠标坐标和元素坐标

    在这一篇文章中,将会介绍鼠标坐标.元素坐标以及鼠标在指定元素内的坐标. 1. 鼠标坐标 在触发鼠标相关事件时(如:click.mousemove),可以通过事件对象获取当前鼠标的坐标. 获取的坐标可分 ...