Less Less基础

1.less

less是一种动态样式语言,属于CSS预处理器的范畴,它扩展了CSS语言,增加了变量,Mixin,函数等特性,使CSS更易维护和扩展。Less既可以在客户端上运行,也可以借助Node.js在服务端运行。

2.Less中的注释

(1).以//开头的注释,不会被编译到css文件中

(2).以/**/包裹的注释会被编译到css文件中

3.Less中的变量

(1).使用@来声明一个变量:@pink:pink,@selector:#box;

(2).作为普通属性值来使用:直接使用@pink

(3).作为选择器、属性名和url:使用@{selector}的形式

@color:deeppink;

@idname:#box;

@optionName:width;

.......................

@{idname}{

position: relative;

@{optionName}: 300px;

..........................

.inner{

..........................

background-color: @color;

...........................

}

}

(4).变量的延迟加载

@color:deeppink;

@idname:#box;

@optionName:width;

@var:1;

@{idname}{

...........................

.inner{

...........................

background-color: @color;

@var:0.5;

opacity: @var; // opacity: 0.3;

@var:0.3;

}

opacity: @var; // opacity: 1;

}

4.less的嵌套规则

(1).基本嵌套规则

LESS 嵌套遵循 "父级选择器包含子级选择器" 的逻辑,对应 HTML 中的父子元素关系。

(2).&的使用

& 避免生成后代选择器。

@color:deeppink;

@idname:#box;

@optionName:width;

@var:1;

@{idname}{

position: relative;

@{optionName}: 300px;

height: 400px;

border: 1px solid #000;

margin: auto;

.inner{

..........................

background-color: @color;

..........................

&:hover{ // 生成#box .inner:hover,不使用&则生成#box .inner :hover

background-color: pink;

}

}

5.避免编译

#box{

width: ~"calc(100px + 100px)"; //提示less这里不用编译,让原生css计算

// height: 100px + 100px; //less编译过后为200px

height: 100px + 100em; //less编译过后为200px,less运行出的单位是less遇到的第一个单位,是纯数值运算,不考虑单位转换

background: red;

}

css 复制代码
@color:deeppink;
@idname:#box;
@optionName:width;
@var:1;
*{
	margin: 0;
	padding: 0;
}
@{idname}{
	position: relative;
	@{optionName}: 300px;
	height: 400px;
	border: 1px solid #000;
	margin: auto;
	background-color: skyblue;
	.inner{
		width: 100px;
		height: 100px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: @color;
		margin: auto;
		@var:0.5;
		opacity: @var;
		@var:0.3;
		
		&:hover{
			background-color: pink;
		}
	}
	opacity: @var;
}
相关推荐
LinXunFeng7 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
乘风gg11 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭11 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒11 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭11 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Hyyy12 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
Gatlin13 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
Pedantic13 小时前
本地通知(Local Notifications)学习笔记
前端
森蓝情丶14 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
爱勇宝14 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员