less是什么意思(一文读懂Less的使用 || 详解)

less是什么意思?Less的使用:https://less.bootcss.com/#-functions-一、Less的介绍Less是一个较为流行的css预处理语言。支持变量、混合(Mixin)、函数、计算、循环等特点。由于Less是预处理语言,所以不能直接运行,需要先进行编译。凡是能用css编

less是什么意思?Less的使用:https://less.bootcss.com/#-functions-

一、Less的介绍

Less是一个较为流行的css预处理语言。支持变量、混合(Mixin)、函数、计算、循环等特点。由于Less是预处理语言,所以不能直接运行,需要先进行编译。

凡是能用css编写的效果,都可以用Less编写。Less中支持所有的css的语法,向下兼容。

常见预处理语言:LESS SASS stylus

二、Less语言的编译方式

https://blog.csdn.net/sun_dongliang/article/details/82750773

vs code 中easy less安装

https://blog.csdn.net/qq_42222342/article/details/106210176

Hbuilder自动编译需要先下载less插件

并打开插件配置,将onDidSaveExecution的值设置为true

三、Less中变量的使用(Variables)

使用@符号声明一个变量

1、变量作为css的属性值使用

@width:1200px;

@height:50px;

.box1{

width:@width;

height:@height;

}

编译后

.box1 {

width: 1200px;

height: 50px;

}

2、变量作为类名使用(需要将变量名加上大括号)

@selector:box2;

.@{selector}{

width:@width;

height:@height;

}

编译后

.box2 {

width: 1200px;

height: 100px;

}

3、变量作为路径使用(需要将变量名加上大括号)

@imgs:’../ES6/大转盘抽奖/img’;

.box3{

width:@width;

height:@height;

background:url(“@{imgs}/bg_lottery.png”)

}

编译后

.box3 {

width: 1200px;

height: 100px;

background: url(“../ES6/大转盘抽奖/img/bg_lottery.png”);

}

4、变量作为属性使用

@bg:background;

.box4{

width:@width;

height:@height;

@{bg}:green;

}

编译后

.box4 {

width: 1200px;

height: 100px;

background: green;

}

5、可变变量的使用(了解)

@a:’测试’;

@b:’a’;

.box4::after{

content:@@b;

}

编译后

.box4::after {

content: ‘测试’;

}

四、Less的extend伪类

extend是一个Less的伪类,他会合并它所在的选择和它匹配到的引用

示例一:

.box5 ul li{

//&代表父级元素

&:extend(.inline);

background:blue;

}

.inline{

width:@width;

height:@height;

}

编译后

.box5 ul li {

background: blue;

}

.inline,

.box5 ul li {

width: 1200px;

height: 100px;

}

示例二:

.banner{

color:red;

}

.nav:extend(.banner){

//background是.nav类名独有的css样式

background:green;

}

编译后

.banner,

.nav {

color: red;

}

//单独生成一个.nav的样式 他自己独有一个background

.nav {

background: green;

}

注意:extend会在选择器之间精准匹配

五、混合Mixins

1、混合’类’选择器或者’id’选择器(类选择器和id选择器的样式仍然能够正常显示)

//混合‘类选择’和’id’选择器

.color,#color{

width:@width;

height:@height;

color:red;

}

.box6{

//直接使用’类选择器’

.color();

}

.box7{

#color();

}

注意:当你调用混合集时,小括号可加可不加

编译后

//.color和#color设置的样式依然

.color,

#color {

width: 1200px;

height: 100px;

color: red;

}

.box6 {

width: 1200px;

height: 100px;

color: red;

}

.box7 {

width: 1200px;

height: 100px;

color: red;

}

2、创建混合集,但是不输出样式

方法:在混合集的名字后面加一个小括号

.radius(){

-webkit-border-radius:30px;

-moz-border-radius:30px;

-ms-border-radius:30px;

-o-border-radius:30px;

border-radius:30px;

}

.box8{

.radius()

}

编译后

.box8 {

-webkit-border-radius: 30px;

-moz-border-radius: 30px;

-ms-border-radius: 30px;

-o-border-radius: 30px;

border-radius: 30px;

}

3、混合集包含各种选择器

.my-mixins(){

&:hover{

background:green;

}

}

.box9{

.my-mixins();

}

编译后

.box9:hover {

background: green;

}

4、混合集内若设置!important,则所有的属性都继承!important

.foo(){

width:1200px;

height:100px;

background:pink;

}

.box10{

.foo()!important;

}

编译后

.box10 {

width: 1200px !important;

height: 100px !important;

background: pink !important;

}

5、mixins接收参数(将接收的参数传递给代码块)

.border(@color){

border:1px solid @color;

}

.box11{

.border(green)

}

编译后

.box11 {

border: 1px solid red;

}

6、mixins接受多个参数,多个参数之间采用逗号连接

.linear(@position,@start,@end){

background:-webkit-linear-gradient(@position,@start,@end);

background:-moz-linear-gradient(@position,@start,@end);

background:-o-linear-gradient(@position,@start,@end);

background:-ms-linear-gradient(@position,@start,@end);

background:linear-gradient(@position,@start,@end);

}

.box12{

.linear(top,red,orange)

}

编译后

.box12 {

background: -webkit-linear-gradient(top, red, orange);

background: -moz-linear-gradient(top, red, orange);

background: -o-linear-gradient(top, red, orange);

background: -ms-linear-gradient(top, red, orange);

background: linear-gradient(top, red, orange);

}

7、mixins中的when的使用

.mixin(@w){

width:@w;

}

//监听参数的情况

.mixin(@w) when (@w>=500px){

height:600px;

}

.mixin(@w) when (@w<500px){

height:300px;

}

.box16{

// .mixin(300px)

.mixin(500px)

}

编译后

.box16 {

width: 500px;

height: 600px;

}

8、循环的使用

.loop(@counter) when (@counter > 0) {

.loop((@counter – 1)); // next iteration

width: (10px * @counter); // code for each iteration

}

div {

.loop(5); // launch the loop

}

编译后

div {

width: 10px;

width: 20px;

width: 30px;

width: 40px;

width: 50px;

}

六、Less的嵌套

嵌套:选择器之间的嵌套,可以很大程度的减少代码量

1、选择器的嵌套

header{

width:@width;

height:@height;

ul{

li{

width:300px;

height:@height;

background:lightblue;

a{

color:black;

}

}

}

}

编译后

header {

width: 1200px;

height: 100px;

}

header ul li {

width: 300px;

height: 100px;

background: lightblue;

}

header ul li a {

color: black;

}

2、父级选择器

header{

ul{

li{

//&为父级选择器

&:hover{

background:pink;

}

}

}

}

编译后

header ul li:hover {

background: pink;

}

3、改变选择器的顺序(不推荐)

ul{

li{

//此时的&代表的是 ul li

.banner &{

color:red;

}

}

}

编译后

.banner ul li{

color: red;

}

4、组合所有的选择器列表(了解)

div,p{

border:1px solid black;

& &{

border-top:0;

}

}

编译后

div,

p {

border: 1px solid black;

}

div div,

div p,

p div,

p p {

border-top: 0;

}

七、运算

算术运算符 +、-、*、/ 可以对任何数字、颜色或变量进行运算

ul{

@width:1200px;

@margin:5px;

width:@width;

li{

width:@width/4-2*@margin;

margin:@margin;

}

}

编译后

ul {

width: 1200px;

}

ul li {

width: 290px;

margin: 5px;

}

注意:

1、运算时以最左侧的单位为准。运算时最好单位统一

2、若属性值之间有‘/’,则less默认当作除法运算

八、转义字符

转义前样式

.box13{

border-radius:30px/50px;

}

编译为

.box13 {

border-radius: 0.6px;

}

转义后的写法:在less中’/’会被当作除法

.box13{

border-radius:~’30px/50px’;

font:~’30px/1.5 微软雅黑’;

}

编译为

.box13 {

border-radius: 30px/50px;

font: 30px/1.5 微软雅黑;

}

九、函数

Less 内置了多种函数用于转换颜色、处理字符串、算术运算等

https://less.bootcss.com/functions/

十、命名空间和访问符

为了提供一些封装的目的,你希望对混合(mixins)进行分组

将一些混合(mixins)和变量置于 #bundle 之下,为了以后方便重用或分发

#bundle(){

.border(@c){

border:1px solid @c;

}

color:blue;

}

.box14{

//映射

color:#bundle[color];

//访问mixins

#bundle.border(black);

}

编译后

.box14 {

color: blue;

border: 1px solid black;

}

十一、作用域

Less 中的作用域与 CSS 中的作用域非常类似。首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承。

@color:blue;

.box15{

color:@color;

p{

@color:red;

color:@color;

}

}

p{

@color:red;

编译后

.box15 {

color: blue;

}

.box15 p {

color: red;

}

十二、注释

方式一:

// 双斜杠注释(该注释内容不会被编译到css中)

方式二:

/**/ 该注释的内容会解析到css

十三、导入import

在标准的css中,@import必须放置在其他类型的规则之前

在Less中@import语法可以放置在任意的位置

语法:@import “文件路径”

/*导入的test.less的内容*/

@import “./test”;

注意:

1、less的@import的导入可以放置在任意位置

2、若导入的文件为.less后缀,则可以省略(其他文件后缀不能省略)

3、同一个less文件只会被导入一次

声明:该文观点仅代表作者本人,《家在公租房生活网》系信息发布平台,家在公租房生活网仅提供信息存储空间服务。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

  • 这几个星座性格活泼开朗(这几个星座性格活泼开朗)

    这几个星座性格活泼开朗,日常工作中,我们常会感觉到很多条条框框,尤其是在职场,总会有各种各样的规矩,约束我们。对于企业来说,规矩是让员工好好工作的标准,对员工来说,这是对自己的不信任,角度不同想法也不同,因此也就形成了循规蹈矩和不循规蹈矩的人。而今天我来为大家分享的就是星座中不会循规蹈矩的人,他们性

    2023年12月28日 百科
    00
  • 乌台诗案故事梗概(是哪一首诗,把苏轼送进了大牢?)

    乌台诗案。文:安静的风 读史专栏作家苏轼身为文学家、诗人、画家,他才华横溢,文彩飞扬。受世人景仰,可是他的一生却坎坷不断,悲多喜少。苏轼的一生,用三句话概括,就是感情上痛,亲情上悲,仕途上挫。二十九岁老婆没了。五十七岁老婆没了。五十九岁老婆没了。这是他感情上的痛。二十一岁妈没了。三十岁爸没了。四十八

    2023年11月25日
    00
  • 脸颊有痣的女人桃花运好吗(脸颊有痣的女人桃花运好吗)「共993字」

    脸颊有痣的女人桃花运好吗:很多人都比较关注自己的桃花运,希望自己的桃花运好,有异性缘,具体脸颊有痣的女人桃花运好吗是怎样,一起看看吧。脸颊有痣的女人桃花运好吗(脸颊有痣的女人桃花运好吗)很多人比较看重自己的桃花运,希望自己桃花运好,有异性关系。有些人甚至要用一些转运的方法,让自己的桃花开得更好。但

    百科 2023年11月13日
    00
  • 宏碁暗影骑士·擎怎么装固态

    大家好,今天小编关注到一个比较有意思的话题,就是关于怎样把硬盘做成固态磁盘的问题,于是小编就整理了5个相关介绍怎样把硬盘做成固态磁盘的解答,让我们一起看看吧。1、wegame游戏怎么转到固态硬盘?2、宏碁暗影骑士·擎怎么装固态?3、怎样将固态硬盘改造成移动硬盘?4、如何把游戏装到固态硬盘?5、bio

    2024年2月23日
    00
  • 食品标准网(全国食品安全企业标准备案网址,食品人值得收藏)

    食品标准网。导读:从事食品研发的工作人员在实际工作中往往会遇到参考各个省市备案的食品安全企业标准的问题,但是会存在着不知道怎么查找和入手,会对工作进程造成影响。笔者汇总了全国各个省市的食品安全企业标准的备案网址,大家可作为在食品研发过程中的参考。食品安全国家标准数据检索平台https://sppt.

    百科 2023年7月23日
    00
  • 膝关节痛什么原因(膝关节疼痛不仅仅是老化,了解这5种常见原因)

    膝关节痛什么原因?膝关节是人体最大且构造最复杂的关节,同时受到损伤机会多。一般中老年人易出现膝关节疼痛,但这并不是单纯的老化,也可能和以下因素有关。膝关节疼痛是怎么回事?1、运动量太大保持适度运动确实能增加心肺功能,促进新陈代谢速度,同时也能保护软骨和刺激骨骼生长。然而运动量过大却会伤害运动系统,运

    百科 2023年7月5日
    00

发表回复

登录后才能评论
关注微信

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:296358331@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息