预处理器less

预处理器less

less官方网站

bootstrap中less教程

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

less能干啥

举个例子

这是css写法,如果写的太多搞不清楚嵌套层级

* {
   
  margin: 0;
  padding: 0;
}
#wrap {
   
  position: relative;
  width: 300px;
  height: 400px;
  border: 1px solid;
  margin: 0 auto;
}
#wrap .inner {
   
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: pink;
  height: 100px;
  width: 100px;
}

less写法

*{
    margin: 0;
    padding: 0;

    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        
        .inner{
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
            background: pink;
            height: 100px;
            width: 100px;
        }
    }
}

一、less的使用环境

1.运行时编译

在浏览器环境中使用 Less

不建议使用这种方式,应该预编译

运行时编译(html中样式是less代码,在运行的时候编译【通过引用相关js文件】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/less">
			*{
				margin: 0;
				padding: 0;
			}
			#wrap{
				position: relative;
				width: 300px;
				height: 400px;
				border: 1px solid;
				margin: 0 auto;
				.inner{
					position: absolute;
					left: 0;
					right: 0;
					top: 0;
					bottom: 0;
					margin: auto;
					background: pink;
					height: 100px;
					width: 100px;
				}
			}
		</style>
	</head>
	<body>
		<div id="wrap">
			<div class="inner">
				
			</div>
		</div>
	</body>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/less.js/3.11.1/less.min.js" ></script>
</html>

  • less文件也可以下载下来,然后引用本地文件<script src="less/less.min.js"></script>

  • style文件若为单独的.less文件 <link rel="stylesheet/less" type="text/less" href="styles.less" /> 但此时需要考虑跨域的问题

2.预编译

预编译(开发的时候写less文件,然后转化为css文件后引用)

(1).借助考拉编译less

koala 官网

这个不太好用

(2). vscode 插件 Easy LESS

保存拓展名为less 的文件 ,自动编译为css文件

这个太香了

(3). vscode 插件 Easy LESS

二、less的语法

1. less中的注释

以//开头的注释,不会被编译到css文件中
以/**/包裹的注释会被编译到css文件中  

2. less中的变量

使用@来申明一个变量:@pink:pink;

  1. 作为普通属性值只来使用:直接使用@pink
  2. 作为选择器和属性名:@{selector的值}的形式
  3. 变量的延迟加载,及其作用域{}范围
@color:deeppink;
@m:margin;
@selector:#wrap;
@url:'../img/1.jpg';
*{
    @{m}: 0;
    padding: 0;
    background: red url(@url);
    //也可以写为 background: red url("@{url}");
}
@{selector}{
    position: relative;
    width: 300px;
    height: 400px;
    border: 1px solid;
    margin: 0 auto;
    .inner{
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: @color;
        height: 100px;
        width: 100px;
    }
}
//演示变
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值