第一章 什么是less
less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行
第二章 less的案例
2.1 less的入门测试
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>less的入门测试</title>
<style type="text/less">
<!--less允许在选择器内再进行编写选择器-->
#app{
width: 800px;
height: 400px;
background-color: antiquewhite;
<!--.adv在#app中,这样便于查看-->
.adv{
height: 100px;
width:100px;
background-color:yellow;
}
}
</style>
<!--需要引入less.min.js ,让其进行编译-->
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">
<div class="adv"></div>
</div>
</body>
</html>
2.2 less的嵌套
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>less的入门测试</title>
<style type="text/less">
<!--嵌套有平级嵌套和父级嵌套-->
#app{
width: 800px;
height: 400px;
background-color: antiquewhite;
<!--这里.adv是父级嵌套-->
.adv{
height: 100px;
width:100px;
background-color:yellow;
}
}
#app2{
width: 100px;
height: 100px;
background-color: aqua;
<!--#app2{}(id选择器)与input{}(标签选择器)是父级嵌套,-->
input{
background-color: pink;
<!--input{}和name=“u1”{}(属性选择器)用"&"连接,是平级嵌套-->
&[name="u1"]{
background-color: blueviolet;
}
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">
<div class="adv"></div>
</div>
<div id="app2">
<input type="text">
<input type="text">
<input type="text" name="u1">
<input type="text">
</div>
</body>
</html>
2.3 变量与计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>变量与计算</title>
<style type="text/less">
#app{
@width:100px;
.adv{
<!--进行计算-->
width:@width*3;
height:300px;
background-color:red;
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">
<div class="adv"></div>
</div>
</body>
</html>
2.4 普通混合
几个混合类似
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>普通混合</title>
<style type="text/less">
#app{
width: 800px;
height: 400px;
background-color: red;
.juzhong{
width: 100px;
height:100px;
background-color:blue;
margin:20px auto;
}
<!--类似于C语言的调用,-->
.adv1{
.juzhong();
}
.adv2{
.juzhong();
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">3
<div class="adv1">dd</div>
<div class="adv2"></div>
</div>
</body>
</html>
2.5 带参数的混合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>普通混合</title>
<style type="text/less">
#app{
width: 800px;
height: 400px;
background-color: red;
.juzhong(@w,@h){
width: @w;
height:@h;
background-color:blue;
margin:20px auto;
}
.adv1{
.juzhong(100px,100px);
}
.adv2{
.juzhong(200px,200px);
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">3
<div class="adv1">dd</div>
<div class="adv2"></div>
</div>
</body>
</html>
2.6 带默认值的混合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>普通混合</title>
<style type="text/less">
#app{
width: 800px;
height: 400px;
background-color: red;
.juzhong(@w:100px,@h:200px){
width: @w;
height:@h;
background-color:blue;
margin:20px auto;
}
.adv1{
.juzhong();
}
.adv2{
.juzhong();
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">3
<div class="adv1">dd</div>
<div class="adv2"></div>
</div>
</body>
</html>
2.7 带命名参数的混合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>普通混合</title>
<style type="text/less">
#app{
width: 800px;
height: 400px;
background-color: red;
.juzhong(T,@n){
width:@n;
height:100px;
background-color:blue;
margin:20px auto;
}
.juzhong(W,@n){
width:100px;
height:@n;
background-color:blue;
margin:20px auto;
}
.adv1{
.juzhong(T,200px);
}
.adv2{
.juzhong(W,400px);
}
}
</style>
<script src="../lessmin/less.min.js"></script>
</head>
<body>
<div id="app">3
<div class="adv1">dd</div>
<div class="adv2"></div>
</div>
</body>
</html>