当前位置: 首页 > article >正文

详细介绍less(css预处理语言)

详细介绍less(css预处理语言)

  • 什么是less
  • less解决什么问题
  • less相比于css的优点
  • 如何使用less
            • 第一步:创建一个less文件
            • 第二步:引入less文件
            • 第三步,编写less文件(和html一样的结构)
  • 完整代码示例

什么是less

less(css预处理语言)Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。


less解决什么问题

请添加图片描述
普通css写页面样式,是这样的:

#nav {
	display: flex;
	width: 100%;
}

#nav>div:hover {
	color: red;
}

#nav>div {
	flex: 1;
	text-align: center;
	display: flex;
	flex-direction: column;
}

#nav>div>svg {
	height: 30px;
}

less写样式,是这样的:

#nav{
	display:flex;
	width:100%;
		>div{
			flex:1;
			text-align: center;
			display:flex;
			flex-direction:column;
				>svg{
					height:30px;
				}
		}
		>div:hover{
			color:red;
		}
}

你发现了什么?


less相比于css的优点

更少的代码量:
Less使用变量和嵌套规则来简化样式表,使其更易于维护和修改,从而减少了代码量。

更好的可读性:
Less的嵌套规则使代码更易于阅读和理解,使开发人员更容易找到所需的代码块。

更高的可重用性:
Less的变量和混合器使样式更具可重用性,从而减少了代码的重复。

更好的扩展性:
Less允许开发人员使用自定义函数和操作符来扩展其功能,从而使其更加灵活。

更好的兼容性:
Less可以与CSS完全兼容,因此可以轻松地将现有的CSS文件转换为Less文件,而不会影响现有的样式表。 

更快的开发速度:
由于Less减少了代码量和提高了可重用性,开发人员可以更快地编写样式表,从而提高开发速度。

更好的维护性:
由于Less的可读性和可重用性,样式表的维护变得更加容易,从而减少了开发人员的工作量。

更好的跨浏览器兼容性:
Less可以生成兼容多个浏览器的CSS代码,从而使网站在不同的浏览器上具有一致的外观和行为。

更好的团队协作:
由于Less的可读性和可重用性,开发团队可以更容易地协作编写样式表,从而提高了团队的效率。

更好的可维护性:
Less的变量和混合器使得样式表更加可维护,从而减少了代码的重复和错误,从而提高了网站的稳定性和可靠性

如何使用less

第一步:创建一个less文件

在这里插入图片描述

第二步:引入less文件

在这里插入图片描述

头部引入本地less文件
引入less插件路径

<link rel="stylesheet/less" type="text/css"href="css/headernav.less" /> 		
<script src="https://cdn.jsdelivr.net/npm/less" ></script>
第三步,编写less文件(和html一样的结构)

完整代码示例

HTML代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet/less" type="text/css" href="css/index.less" />
		<script src="https://cdn.jsdelivr.net/npm/less"></script>
	</head>
	<body>
		<div>
			<div style="height:64px;"></div>
			<!--header是固定定位,脱离了文档流不占位置,这里使用一个div占下header的位置,防止内容显示不全-->
			<header>
				<div id="language">
					<div>
						<p></p>
						<span>c++</span>
					</div>
					<div>
						<p></p>
						<span>JavaScript</span>
					</div>
					<div>
						<p></p>
						<span>pathon</span>
					</div>
					<div>
						<p></p>
						<span>中文</span>
					</div>
					<div>
						<p></p>
						<span>Java</span>
					</div>
				</div>
			</header>
		</div>

	</body>
</html>

LESS代码

:root{
	--width:100vw;
	--height:15%;
	--height2:30px;
	--font-size: 1.1rem;
}
#language,header{
	margin: 0%;
	padding: 0%;
}
 
header{
		display:flex;
		align-items:center;
		position:fixed;
		top:0;
		left:0;
		width:var(--width);
		height:var(--height);
		background-color:white;
		box-shadow:1px 1px 2px gray;
		#language{
			display:flex;
			width:100%;
			margin-bottom: 2%;
				>div{
					flex:1;
					text-align: center;
					display:flex;
					flex-direction:column;
					font-size: var(--font-size);
						>p::after{
							content: 'Lᵒᵛᵉᵧₒᵤ❤';
							font-size: 1.2rem;
						}
				}
				>div:hover{
					color:red;
					font-size: var(--font-size);
				}
		}
}
 

后续会上传资源,需要研究可以下载


http://www.kler.cn/a/2743.html

相关文章:

  • OpenCV轮廓相关操作API (C++)
  • Kafka优势剖析-高效的数据复制
  • unity学习8:unity的基础操作 和对应shortcut
  • springboot适配mybatis+guassdb与Mysql兼容性问题处理
  • 现代前端框架
  • SRS 服务器入门:实时流媒体传输的理想选择
  • 解忧杂货铺(五续集):用了无法离开的网站资源
  • 【STM32】STM32内存映射以及启动过程(超详细过程)
  • 【蓝桥杯集训·每日一题】AcWing 1051. 最大的和
  • 【C陷阱与缺陷】----语法陷阱
  • Android APP检查设备是否为平板
  • 华为笔试题OD
  • 半导体器件基础08:MOS管结构和原理(2)
  • 小程序和Vue写法的区别
  • OpenHarmony基于BearPi-HM Micro开发板,App常用组件使用 -- 上篇
  • ArcGIS:如何进行建筑密度分析?
  • 动词语气(虚拟语气)
  • python实战应用讲解-【numpy科学计算】应用小技巧(一)(附python示例代码)
  • Python模块
  • Springboot+vue开发的图书借阅管理系统项目源码下载-P0029
  • Fuzzing101系列 Exercise 1 - Xpdf
  • 关于肺结节实时的目标检测
  • Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?
  • 大数据 | Hadoop集群搭建(完全分布式)
  • CVPR 2023|淘宝视频质量评价算法被顶会收录
  • Win10+Anconda安装.whl文件到指定环境——以pycocotools为例