less简介、less安装、编译、less语法之变量、嵌套、类混入、函数混入、运算、less文件导入
发布日期:2021-05-07 10:49:58 浏览次数:9 分类:原创文章

本文共 2886 字,大约阅读时间需要 9 分钟。

less基础:

CSS是一门非程序语言,没有变量、函数、作用域等,此时使用rem单位就会出现图片等大量计算尺寸的问题,但是less可以轻松实现运算,它是CSS预处理语言,引入了变量、混入、函数等,常见的CSS预处理语言还有:Sass、Stylus等,Less中文网址:http://lesscss.cn

Less安装:
①安装nodejs:进网址:http://nodejs.cn/download,选择对应自己电脑系统的node下载安装,检查是否安装成功:cmd控制台键入 node -v , 若出现有node版本信息则安装成功。

②基于node下的npm安装:cmd控制台键入 npm install -g less ,检查是否安装成功:cmd控制台键入:lessc -v ,若出现less版本信息,则安装成功。

Less编译:
less本质上是由一套自定义语法及一个解析器组成,根据语法定义自己的less文件,最终会编译成CSS文件供html使用。

Easy LESS插件:把less文件编译成css的VScode插件,在VScode安装此插件后,保存less文件后会自动生成对应的css文件,把此css文件引入html文件即可。

less语法:

less文件中可以直接 写css代码,开始less编码时建议声明字符编码辑。

less中的注释:less中有两种注释语法,如下:

	 @charset:'UTF-8';    /*注释内容*/    //注释内容

变量:没有固定的值,可以改变,css中的颜色值和数值经常使用,语法:@变量名:值 ,(变量名规范:必须以@为前缀、不包含特殊字符、不以数字开头、字母区分大小写),less中字符串拼接需要将变量名通过{}包裹,如:@color:pink; 、@number:10;、.{@className}

嵌套:在less中可以像html一样,如果标签是父子级关系,可以嵌套书写,编写后会生成对应的父子级形式的选择器,less语法中伪类伪元素前面要加 & 符号才表示当前元素的伪类,否则表示此元素的子代伪元素,如:

	@bgcolor:rgb(199, 235, 250);    @font12:12px;    @className:box;    div {          background-color: @bgcolor;        a {            font-size:@font12;        //  less语法中伪类前面要加 & 符号才表示当前元素的伪类,若不加则表示此元素的子代伪元素:         &:hover {                color:bisque;         }         }    }    .@{   className}{           color:red;    };        //编译后的css代码:    //div {       //  background-color: #c7ebfa;    //}    //div a {       //  font-size: 12px;    //}    //div a:hover {   //若less前面没有加 &,则解析成div a :hover    //  color: bisque;    //}    // .box {       //   color: red;    // }

混入:混入分类混入和函数混入,类混入是将若干个类在另一个{}中使用()调用,使被调用的类的属性代码在新的类中生成,如:

	.floatLeft{   float:left;}    .bgc{   background-color:blue;}    // 将上面两个类的属性及值混入到新的类中:    .box{           .floatLeft();        .bgc();    }        //生成的对应css代码:    .floatLeft {         float: left;    }    .bgc {         background-color: blue;    }    .box {         float: left;      background-color: blue;    }

函数混入:由于类混入定义的类会编译到css代码造成代码冗余,这样不太好,可以使用函数混入可以解决这个代码冗余的情况,函数语法:.函数名(){};,使用时是将类定义到函数中,在另一个类中使用时,直接调用函数即可,但是不会在css代码中生成类,函数里面可以传入参数,但是定义了参数后就必须传入参数,否则会报错,但是可以传入默认参数,就是在形参变量名后面加冒号,冒号后面的值即为默认值,如:

	@fl:left;    @fr:right;    .floatLeft(@left:left){   //定义了默认值为left        float: @left;    }    .bgc(){           background-color: blue;    }    .box {           .floatLeft(@fr);//当不传入参数时,会使用默认值left        .bgc();    }        // 生成的css代码:    .box {           float: right;        background-color: blue;    }

运算:less语法提供了加(+)减(-)乘(*)除(./或外面加小括号)等运算,任何的数字、颜色、变量都可以参与运算。运算符号左右两边必须要用空格隔开,如果两个变量中只有一个变量有单位或两个变量的单位相同时,则结果的单位就是其中的这个单位;当两个变量都有单位时,以前面变量的单位为结果的单位;

	@fontsize:12px;    @width:200px;    div {           width: (24 / @fontsize);        height: @width ./ 2rem;        border: 12rem ./ @fontsize solid (#333222 - #111222);    }        //对应的css代码:    //div {       //  width: 2px;    //  height: 100px;    //  border: 1rem solid #222000;    //}

将一个less文件导入另一个less文件:

	@import "common.less"

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海

上一篇:java.lang.OutOfMemoryError处理错误
下一篇:Linux top命令详解

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月18日 05时56分35秒