less简单用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了less简单用法相关的知识,希望对你有一定的参考价值。

http://less.bootcss.com
less工具:koala
工具url:http://koala-app.com/index-zh.html
// less import:
// less 文件
1
@charset ‘utf-8‘; 2 //导入less文件 3 @import "m"; 4 //导入css文件: 5 //注意导入的css文件位置与编译后css的位置是一致的 6 @import (less) "b.css";
//m.less
1
.cless{ 2 @red:red; 3 color:@red; 4 }
//b.css
1
.bcss{ 2 color:#ccc; 3 }
//编译后的css文件
@charset ‘utf-8‘; .cless
{ color: #ff0000; } .bcss { color: #ccc; }
// 变量
 //less文件:
1
@charset ‘utf-8‘; 2 /* 这是一个编译后看见的注释*/ 3 //这是一个编译后看不见的注释 4 @_width:300px; 5 @red:red; 6 7 .col{ 8 //可重复声明使用不影响外调用 9 @red:#ccc; 10 color: @red; 11 } 12 .col2{ 13 color: @red; 14 }
//less编译后的对应css文件:
@charset ‘utf-8‘;
/* 这是一个编译后看见的注释*/ .col { color: #cccccc; } .col2 { color: #ff0000; }
1. 混合
 1 .bord{
 2   border: 1px solid #000;
 3 }
 4 //例:
 5 .box{
 6     width: @_width;
 7     height: @_width;
 8     background-color: @red;
 9     .bord;//混合
10 }
.bord {
  border: 1px solid #000;
}
.box {
  width: 300px;
  height: 300px;
  background-color: #ff0000;
  border: 1px solid #000;
}
2. 混合-带参数
1 .border_02(@border_width){
2     border: solid yellow @border_width;
3 }
4 //例:
5 .border_hunhe{
6     width: @_width;
7     height: @_width;
8     .border_02(20px);
9 }
.border_hunhe {
  width: 300px;
  height: 300px;
  border: solid #ffff00 20px;
}
3.1 混合-默认值
 1 .border_03(@border_width:10px){
 2     border: @border_width solid green;
 3 }
 4 //例: 混合 不传值
 5 .border_hunhe2{
 6     .border_03();
 7 }
 8 //例: 混合 传值
 9 .border_hunhe21{
10     .border_03(12px);
11 }
.border_hunhe2 {
  border: 10px solid #008000;
}
.border_hunhe21 {
  border: 12px solid #008000;
}
3.2 混合用法:默认值为变量
 1 @bdr:10px;
 2 .border_04(@border_width:@bdr){
 3     border: @border_width solid @red;
 4 }
 5 //例: 混合 不传值
 6 .border_hunhe3{
 7     .border_04();
 8 }
 9 //例: 混合 传值
10 .border_hunhe31{
11     .border_04(13px);
12 }
.border_hunhe3 {
  border: 10px solid #ff0000;
}
.border_hunhe31 {
  border: 13px solid #ff0000;
}
4. 匹配模式
 1 /* 三角形 border */
 2 // 原文url:http://www.cnblogs.com/blosaa/p/3823695.html
 3 //上
 4 .trangle(top,@w:5px,@c:#ccc){
 5     border-width: @w;
 6     border-color: transparent transparent @c transparent ;
 7     border-style: dashed dashed solid dashed ;
 8 }
 9 //右
10 .trangle(right,@w:5px,@c:#ccc){
11     border-width: @w;
12     border-color: transparent transparent transparent @c;
13     border-style: dashed dashed dashed solid;
14 }
15 //下
16 .trangle(bottom,@w:5px,@c:#ccc){
17     border-width: @w;
18     border-color:@c transparent transparent transparent;
19     border-style:solid dashed dashed dashed;
20 }
21 //左
22 .trangle(left,@w:5px,@c:#ccc){
23     border-width: @w;
24     border-color: transparent @c transparent transparent;
25     border-style: dashed solid dashed dashed ;
26 }
27 //匹配通用格式
28 .trangle(@_,@w:5px,@c:#ccc){
29     width: 0;
30     height: 0;
31     overflow: hidden;
32 }
33 //例:
34 .sanjiao{
35   .trangle(right,50px);
36 }
37 
38 //例:传入错误值
39 .sanjiao1{
40     .trangle(dsa,20px);
41 }
/* 三角形 border */
.sanjiao {
  border-width: 50px;
  border-color: transparent transparent transparent #cccccc;
  border-style: dashed dashed dashed solid;
  width: 0;
  height: 0;
  overflow: hidden;
}
.sanjiao1 {
  width: 0;
  height: 0;
  overflow: hidden;
}
5. 运算: 其中一个带单位即可
注意:减法之间的格式;命名变量在运算中不可添加单位
 1 @w10:100px;
 2 @h10:120;
 3 .add{
 4   width: @w10 + 10;
 5   height:@h10 - 10px;
 6   color: #666 / 2;  //可用,不建议
 7 }
 8 .add2{
 9   width: @w10 + 12/2;
10   height:(@h10 - 10)*2px;
11 }
12 
13 .add3{
14   width: @w10 + 10px;
15   height: @h10/3*3px - 6+4;
16 }
.add {
  width: 110px;
  height: 110px;
  color: #333333;
}
.add2 {
  width: 106px;
  height: 220px;
}
.add3 {
  width: 110px;
  height: 118px;
}
6. 嵌套用法
 1 ul{
 2   width: 100px;
 3   //margin: 10px auto;
 4   li{
 5     width: 100px;
 6     float: left;
 7     border-bottom: 1px solid #ccc /2;
 8   }
 9   a{
10     width: 100px;
11     color: red;
12     display: block;
13     //& 上一层选择器的名
14     &:hover{
15       color: blue;
16     }
17     span{
18       font-weight: bold;
19       font-size: 18px;
20       float: right;
21       color: #85ada7;
22     }
23   }
24 }
25  // $的用法
26 .tit{
27   width: 100px;
28   &_n{
29   width: 100px;
30  }
31 }
 1 ul {
 2   width: 100px;
 3 }
 4 ul li {
 5   width: 100px;
 6   float: left;
 7   border-bottom: 1px solid #666666;
 8 }
 9 ul a {
10   width: 100px;
11   color: red;
12   display: block;
13 }
14 ul a:hover {
15   color: blue;
16 }
17 ul a span {
18   font-weight: bold;
19   font-size: 18px;
20   float: right;
21   color: #85ada7;
22 }
23 .tit {
24   width: 100px;
25 }
26 .tit_n {
27   width: 100px;
28 }
7. argument用法
 1 .brd2(@c:#ccc,@w:10px,@solid:solid){
 2   border:@arguments;
 3 }
 4 .bor2{
 5   .brd2();
 6 }
 7 //注意参数对应
 8 .bor21{
 9   .brd2(red);
10 }
.bor2 {
  border: #cccccc 10px solid;
}
.bor21 {
  border: #ff0000 10px solid;
}
8. 避免编译
1 .wid{
2   width:~‘calc(100px - 20px)‘;
3 }
.wid {
  width: calc(100px - 20px);
}
9. important用法
1 .impor(@w:10px,@h:10px){
2   width:@w;
3   height:@h;
4 }
5 .im_a{
6   .impor()!important;
7 }
.im_a {
  width: 10px !important;
  height: 10px !important;
}

以上是关于less简单用法的主要内容,如果未能解决你的问题,请参考以下文章

more less fewer 的用法及区别

Less 的用法

less.modifyVars的用法

less基本用法

Less和Sass的用法及区别

LESS 用法入门