最近在写css的时候,发现自己写的css特别长,觉得自己写的特别low,所以为了加快自己的开发效率,又重新温习了less,下面就是我学习less的过程。

less是不能被浏览器识别的,要转换成css,有两种方式:

1、硬转换less.js:https://raw.githubusercontent.com/less/less.js/v2.5.3/dist/less.min.js

2、less编译器    npm install less -g  -》lessc style.less style.css

如果想要压缩的版本 还需要安装 less-plugin-clean-css    npm install less-plugin-clean-css -》lessc  style.less  style.css  -clean-css

less 是什么

1、是一种预编译语言
2、有面向对象的思想

less解决什么问题

1、css前缀长
2、css代码复用

less的语法

1、function
杂项函数
字符串函数
列表函数
数学函数
类型函数
颜色定义函数
颜色通道函数
颜色操作函数
颜色混合函数
2、语言特性
变量
混合
嵌套规则& 表示当前选择器的父选择器
四则运算
自定义的函数
命名空间
作用域
3、嵌套思维
4、&思维

less语法
.transition(@duration:1s){
-webkit-transition:@arguments;
-moz-transition:@arguments;
-o-transition:@arguments;
-ms-transition:@arguments;
transition:@arguments;
}
.transform(@rotate:360deg){
-webkit-transform: rotate(@rotate);
-moz-transform: rotate(@rotate);
-o-transform: rotate(@rotate);
-ms-transform: rotate(@rotate);
transform: rotate(@rotate);
}
.outer{
margin: 50px;
width: 200px;
height: 200px;
border: solid 1px green;
@shadowColor:#000;
.inner{
margin: 20px;
height: 100px;
width: 100px;
background: lightblue;
box-shadow: 0 0 5px 0 @shadowColor;
.transition(@duration:0.5s);
}
&:hover {
.inner{
box-shadow: 0 0 5px 0 lighten(@shadowColor, 30%);
.transform();
}
} }
.mixin(@x){z-index:@x;}
.span1{
color:color("#aaa");
box-shadow:image-size("./1.png");
width: image-width("./1.png");
height: image-height("./1.png");
transition: convert(1s, "ms");
.mixin(3);
display: block;
margin-top:unit(5,px);
z-index: get-unit(5px);
}
@list :bold,"b","c","d";
.span2{
display: block;
color:escape("red");
font-family: replace("Times New Roman", "Times New Roman", "arial");
z-index: length(@list);
font-weight: extract(@list, 1);
}
.span3{
display: block;
z-index: ceil(3.3);
z-index: floor(3.7);
width: percentage(.5);
z-index: round(2.33);
z-index: round(1.53,1);
z-index: sqrt(36);
z-index: abs(-5);
z-index: max(1, 2);
z-index: min(1,2);
}
.span4{
display: block;
color:rgb(90, 129, 32);
color:rgba(123, 12, 34,0.5);
}
@red:red;
.span5{
display: block;
opacity: alpha(#eee);
color:lighten(@red, 30%);
border: solid 1px darken(@red, 50%);
}
.@{red}{
color:red;
}
@url:"./"; .span6{
display: block;
.red;
width: 100px;
height: 100px;
background: url("@{url}1.png");
}
.inline{
display: inline-block;
color:green;
}
.span7{
a{
color:yellow;
}
&:extend(.inline);
}
.a,#b{
color:blue;
}
.span8{
.a();
}
.loop(@counter) when (@counter>0){
.loop(@counter - 1);
width: (10px * @counter);
}
.span9{
.loop(3);
& {
color:#9a9a9a;
}
}
less写购物商城的例子
@import "reset.min.css";
@fff:#ffffff;
.float(@direction:left){
float: @direction;
}
html body{
width: 100%;
height: 100%;
background: #f4f4f4;
}
.container{
margin:20px auto;
width: 1200px;
overflow: hidden;
}
.header{
background: @fff;
span{
.float();
width: 90px;
height: 50px;
line-height: 50px;
text-align: center;
font-size: 14px;
}
a{
&:extend(.header span);
width: auto;
padding: 0 15px;
color:#999;
&:hover{
color:#e01d20;
}
} }
.productBox{
margin-top: 20px;
width: 1210px;
li{
.float();
margin: 0 10px 10px 0;
a{
display: block;
width: unit(1210/5-10-6-32, px);
border: 3px solid transparent;
padding: 0 16px;
background: @fff;
img{
display: block;
width: 100%;
}
p{
line-height: 20px;
height: 40px;
overflow: hidden;
font-size: 14px;
color:#999;
}
span{
line-height: 30px;
color:#555;
font-size: 16px;
}
&:hover{
border-color: #101d20;
border-radius: 5px;
box-shadow: 0 0 5px 0 #333;
}
} }
}

学习 | less入门的更多相关文章

  1. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  2. [IT学习]sql 入门及实例

    sql 是一种数据库查询语言,可以让你很快的查询到数据.其实一般情况下,你也可以采用excel来查询数据库数据. 但是人们通常认为sql会更加灵活和方便一些. sql学习的入门网站: http://w ...

  3. PHP学习笔记 - 入门篇(5)

    PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...

  4. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  5. PHP学习笔记 - 入门篇(3)

    PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...

  6. PHP学习笔记--入门篇

    PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world! ...

  7. netty深入学习之一: 入门篇

    netty深入学习之一: 入门篇 本文代码下载: http://download.csdn.net/detail/cheungmine/8497549 1)Netty是什么 Netty是Java NI ...

  8. LESS学习笔记 —— 入门

    今天在网上完成了LESS的基础学习,下面是我的学习笔记.总共有三个文件:index.html.main.less.mian.css,其中 mian.css 是 main.less 经过Koala编译之 ...

  9. Java工程师学习指南 入门篇

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  10. .NET学习从入门到精通100+源代码(申明:来源于网络)

    .NET学习从入门到精通100+源代码大放送 (20161128更新)(申明:来源于网络) 地址:http://download.csdn.net/album/detail/3364

随机推荐

  1. DNF手游公测或将只有安卓版 iOS系统怎么办?

    DNF手游在8月10号确定延期后,目前还不知道新的上线时间.玩家都很关心DNF手游新的公测时间,DNF手游官网的预约数据也是不断突破新高,最终突破了五千万!我们目前拿到的小道消息,DNF手游会在9月1 ...

  2. 原生js实现 vue的数据双向绑定

    原生js实现一个简单的vue的数据双向绑定 vue是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时 ...

  3. openvswitch 监听端口变化

    命令: ovsdb-client monitor Interface name,ofport,external_ids --format=json 运行效果: [root@ostack1 ~]# ov ...

  4. Solon详解(六)- 定制业务级别的验证注解

    在业务的实现过程中,尤其是对外接口开发,我们需要对请求进行大量的验证并返回错误状态码和描述.lombok 框架有很多很赞的注解,但是人家是throw一个异常,这与有些需求不一定能匹配. 该文将基于So ...

  5. 区块链入门到实战(34)之Solidity – 变量

    Solidity 支持三种类型的变量: 状态变量 – 变量值永久保存在合约存储空间中的变量. 局部变量 – 变量值仅在函数执行过程中有效的变量,函数退出后,变量无效. 全局变量 – 保存在全局命名空间 ...

  6. 01.arduino uno开发板入门

    01.所需工具 -Ariduino uno开发板一块 -对应的usb数据线 -杜邦线若干 -一些用以测试的电子元器件 02.安装arduino IDE 打开官网链接https://www.arduin ...

  7. 用java中的Arraylist实现电话本系统管理

    大致思路:创建一个电话本条目的类,在主类中实例化.用实例化的对象调用构造参数接收输入值,然后将此对象存入Arraylist的对象中,实现动态添加电话本条目. 该系统具备添加.删除.修改.查询所有和按姓 ...

  8. Unity WebGL WebSocket

    在线示例 http://39.105.150.229/UnityWebSocket/ 快速开始 安装环境 Unity 2018.3 或更高. 无其他SDK依赖. 安装方法 通过 OpenUPM 安装 ...

  9. unimrcp plugin 分析

    摘要: unimrcp 访问媒体资源是通过插件实现,社区的代码给出了demo plugin,但是距离一个生产插件还是有一段的距离.这边文章介绍插件的整个逻辑过程,以及如何实现我们自己的插件.

  10. Java开发环境搭建的准备工作

    Java开发环境搭建的准备工作 网络配置(修改hosts) 什么时候需要 比如我们在安装homeBrew的时候会遇到 curl: (7) Failed to connect to raw.github ...