Less简介部分记录:
1、 Less是一门CSS预处理语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让CSS更易维护、方便制作主题、扩充,是一种动态样式语言。
2、 编译工具:Koala。
3、 注释(两种方式):
/* 此种注释会被编译,即此句注释会出现在编译好的CSS文件中。 */
// 不会被编译。
4、 变量:
声明变量:@变量名:值;
5、 混合使用:可带参数,也可不带参数。
好处:CSS3兼容性使用,修改方便。
6、 匹配模式:满足条件后才匹配。
7、 运算:可进行加减乘除的运算。
Less代码学习部分记录:
1、定义编码方式:
@charset "utf-8";
2、普通的CSS代码编写:
body{
background-color: cornsilk;
}
3、注释的区别:
/* Can see */
// Can't see
4、变量的声明使用:
@test_width:320px;
.box{
width: @test_width;
height: @test_width;
background-color: #FF7F50;
}
5、混合:
(1)不带参数的混合:
.border{
border: 10px solid #5F9EA0;
}
.box{
.border;
}
(2)带参数的混合:
1)没有默认值,一定要传参:
.border_02(@border_width){
border: @border_width solid firebrick;
}
.test_mix{
.border_02(30px);
}
.box{
.test_mix;
}
2)带默认值:
.border_03(@border_width:20px){
border: @border_width solid lightgreen;
}
.test_mix_03{
.border_03();//可以不传参
.border_03(50px);//可以传参
}
.box{
.test_mix_03;
}
6、CSS3兼容性使用举例:
.border_radius(@radius:8px){
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
.radius_test{
width: 200px;
height: 120px;
background-color: darksalmon;
margin-top: 20px;
.border_radius();
}
7、匹配模式:
(1)举例:画一个三角形
/*画一个三角形的原始方法*/
.triangle{
width: 0;
height: 0;
margin-top: 10px;
border-width: 60px;
border-color: transparent transparent mediumvioletred transparent;
border-style: dashed dashed solid dashed;//解决IE6有黑色边框问题
}
/*用匹配模式画三角形*/
.triangle_test(top,@w:60px,@c:mediumvioletred){
border-width: @w;
border-color: transparent transparent @c transparent;
border-style: dashed dashed solid dashed;
}//向上的三角形
.triangle_test(bottom,@w:60px,@c:mediumvioletred){
border-width: @w;
border-color: @c transparent transparent transparent;
border-style: solid dashed dashed dashed;
}//向下的三角形
.triangle_test(left,@w:60px,@c:mediumvioletred){
border-width: @w;
border-color: transparent @c transparent transparent ;
border-style: dashed solid dashed dashed;
}//向左的三角形
.triangle_test(right,@w:60px,@c:mediumvioletred){
border-width: @w;
border-color: transparent transparent transparent @c;
border-style: dashed dashed dashed solid;
}//向右的三角形
//@_:代表始终带着这个函数运行
.triangle_test(@_,@w:60px,@c:mediumvioletred){
width: 0;
height: 0;
margin-top: 25px;
}
.triangle{
//根据想得到的匹配格式画三角形
.triangle_test(top);
.triangle_test(bottom);
.triangle_test(left);
.triangle_test(right);
//非匹配格式则css代码中只生成@_部分的代码
.triangle_test(aaa);
}
(2)举例:定位的使用
.pos(r){
position: relative;
}
.pos(ab){
position: absolute;
}
.pos(f){
position: fixed;
}
.test{
width: 120px;
height: 120px;
margin-top: 20px;
background-color: gold;
.pos(r);
.pos(ab);
.pos(f);
}
8、运算(加减乘除):
@test_01: 300px;
.box_02{
width: @test_01 + 80;
height: @test_01;
margin-top: 20px;
background-color: deepskyblue;
}