css预编译之less

使用的编译工具

因为使用less语法写出来的文件,他的扩展名为".less",这种文件,浏览器是不认同的,所以我们需要用工具把这个文件编译成符合css原本语法的”.css“文件。

编译工具我们可以使用vscode中的插件EasyLESS,还可以使用单独的软件koala(考拉),当我们创建less文件,保存后他会自动将less文件转化成css文件

(vscode插件下载地址)

less怎么生成css_css知识


less语法

1:变量

变量是变成里面最重要的概念,用一个名称来代表一个值,定义是使用这个名称来代替这个值。

好处:这个名称对应的值改变了,定义中使用这个名称地方的值就全部改变了,大大提高了效率。less定义变量需要加”@“符号。

代码示例:

// 定义保存数值的变量
@mywidth:100px;
// 定义保存颜色值的变量
@mycolor:hotpink;

.box01{
    width:@mywidth;
    height:@mywidth+200;
    background-color: @mycolor;
}
.box02{
    width:@mywidth+50;
    height:@mywidth+300;
    color:@mycolor; 
}

上面代码最终编译成下面代码:

.box01 {
  width: 100px;
  height: 300px;
  background-color: hotpink;
}
.box02 {
  width: 150px;
  height: 400px;
  color: hotpink;
}

2:混合
使用混合可以再一段css代码中通过类名插入另外一段css代码。
代码示例 :

.myborder{
    border-top:1px solid #3366cc;
    border-bottom:1px solid #3366cc;
}
.box{
    width: 300px;
    height: 300px;
    // 使用混合插入上面一段css代码
    .myborder();
}

上面代码最终编译成下面的代码

.myborder {
  border-top: 1px solid #3366cc;
  border-bottom: 1px solid #3366cc;
}
.box {
  width: 300px;
  height: 300px;
  border-top: 1px solid #3366cc;
  border-bottom: 1px solid #3366cc;
}

3:嵌套
使用嵌套可以将后代选择器或者叫做层级选择器写在一个大括号中,方便定义和阅读。
代码示例:

.mytitle{
    width:300px;
    height:50px;
    border: 1px solid #000;
    // 在内部嵌套子元素的样式定义
    span{
        float: left;
        line-height:50px;
        color:#333;
    }
    a{
        float:right;
        line-height:50px;
        color:#999;
        // 在内部嵌套伪类的样式定义
        &:hover{
            color:#f00;
        }
    }
}

上面代码最终编译成下面代码 :

.mytitle {
  width: 300px;
  height: 50px;
  border: 1px solid #000;
}
.mytitle span {
  float: left;
  line-height: 50px;
  color: #333;
}
.mytitle a {
  float: right;
  line-height: 50px;
  color: #999;
}
.mytitle a:hover {
  color: #f00;
}

4:运算
在定义值的时候可以使用+ - * %进行运算。
代码示例:

@p2r:1/20rem;
.box{
    width:200/2*@p2r;
    height:200/2/20rem;
}

上面代码最终编译成下面代码:

.box {
  width: 5rem;
  height: 5rem;
}

5: 注释
less语法中注释分单行和多行注释。
代码示例 :

// 定义单行注释
/*
    定义
    多行注释
*/

6 : 导入
less文件中可以导入其他的less文件,从而实现文件的合并。
代码示例 :

@import "library"; // library.less

今天的学习就到这里啦~~我们下期再见

less怎么生成css_less怎么生成css_02