Less入门到上手——前端开发利器<一>
摘录less官网的解释:
LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。
LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。
以上是less官方解释,说下本菜的理解:less类似css的jquery,一个为css封装的库。
less最终还是被编译成css被读取。
1、less定义变量:
/*声明变量*/
@var_width:120px;
/*使用变量*/
div{
width:@var_width;
}
这样一段less代码被编译后的css是:div{width:120px;}
2、混合:
@d_length:300px; /*定义变量*/
.d_1{
width:@d_length;
height:@d_length;
border:blue 1px solid;
float:left;
margin-left:20px;
}
.d_2{
.d_1; /*混合 使用.d_1全部样式*/
background-color:#808080;
border-color:red;
}
.d_3{
.d_2; /*混合 使用.d_2全部样式*/
border-color:yellow;
}
混合特性,less中可以重复使用样式。可以把每一个样式都看做一个封装好的函数,其他样式若需要便直接调用。
混合带参,less的混合和函数一样,也可以带参数,在遇到大量重复,但同一属性值又需不一样。这时就要用到混合参数。
/* 声明的带参混合 */
.div_style(@bg_color,@bor_color){
width:300px;
height:300px;
border:@bor_color 3px solid;
background-color:@bg_color;
float:left;
margin-left:20px;
}
.d_1{
.div_style(#4491F6,#F63C18);
}
.d_2{
.div_style(#F8F00A,#4491F6);
}
混合带参时,也可以直接给参数赋值,在使用时注意,定义带参混合若定义的参数有赋值使用时可以不传参,若定义的参数没赋值使用时就必须传参,若定义了参数值,使用时依然可以传参改变预先定义的参数值。
/* 声明的带参混合 */
.div_style(@bg_color,@bor_color,@wid:300px,@hei:100px){
width:@wid;
height:@hei;
border:@bor_color 3px solid;
background-color:@bg_color;
float:left;
margin-left:20px;
}
/* 此时前两个参数必须传值,后两个则可传可不传。 */
.d_1{
.div_style(#4491F6,#F63C18);
}
.d_2{
.div_style(#F8F00A,#4491F6,600px,200px);
}
3、匹配模式:
/* 公共部分函数 */
.arrow{
width:0px;
height:0px;
overflow:hidden;
}
/* 定义四个方向 */
.arrow_all(top,@w:10px,@c:#4491F6){
.arrow;
border-width:@w;
border-color:transparent transparent @c transparent;
border-style:dashed dashed solid dashed;
}
.arrow_all(bottom,@w:10px,@c:#4491F6){
.arrow;
border-width:@w;
border-color:@c transparent transparent transparent;
border-style:solid dashed dashed dashed;
}
.arrow_all(left,@w:10px,@c:#4491F6){
.arrow;
border-width:@w;
border-color:transparent transparent transparent @c;
border-style:dashed dashed dashed solid;
}
.arrow_all(right,@w:10px,@c:#4491F6){
.arrow;
border-width:@w;
border-color:transparent @c transparent transparent;
border-style:dashed solid dashed dashed;
}
/* 匹配时,根据传参来匹配使用哪个函数 */
.sanjiao{
.arrow_all(right);
}
匹配模式是带参混合的高级使用,类似函数重写,根据参数自动判断选择使用哪个函数。
Less入门到上手——前端开发利器<一>的更多相关文章
- Less入门到上手——前端开发利器<二>深入了解
接着昨天的继续... ... 4.嵌套: HTML部分 <table> <tr> <th colspan="3">测试列表标题</th&g ...
- 前端开发利器—FIDDLER 转
http://www.cnblogs.com/yuzhongwusan/archive/2012/07/20/2601306.html 前端开发利器—FIDDLER 1.Fiddler相对其他调试工具 ...
- 微信公众号开发C#系列-12、微信前端开发利器:WeUI
1.前言 通过前面系列文章的学习与讲解,相信大家已经对微信的开发有了一个全新的认识.后端基本能够基于盛派的第三方sdk搞定大部分事宜,剩下的就是前端了.关于手机端的浏览器的兼容性问题相信一直是开发者们 ...
- 前端开发利器 Sublime Text 3 使用技巧和总结笔记
这篇文章是本人在使用该工具进行前端开发的自我总结,思路也许不是很清楚,不过还是希望对读者的你有所帮助,千万别把这边文章收藏起来发霉哦,无论背多少次快捷键,还不及自己多实际操作几次. 目前官方版正式版 ...
- 前端开发利器-Brackets IDE
是什么? http://brackets.io/ A modern, open source text editor that understands web design. 现代, 开源的文本编辑器 ...
- 前端开发利器webStorm
这里推荐一个前端开发工具webStorm.用了大概快半年了,发现所有其他工具无出其右的.目前最新版本已经到4.0.2,半年前还是2.X 相比aptana.dreamweaver.sublime和vim ...
- 前端开发利器VSCode
最近找到一款非常好用的开发利器,VSCode.一直认为微软做的东西都很一般,这个软件让我刮目相看了. 之前使用webstorm卡的不行,换了这个非常好用. 用着还不错,这里记录下一些使用的心得. VS ...
- 前端开发利器自定义Iconfont图标
前端开发难免遇到很多地方需要图片来展示,以往我们都会使用img.background.font文件实现图片,本人使用bootstrap,但由于前端比较火的bootstrap的font库太少不能满足我们 ...
- 前端开发利器 Emmet 介绍与基础语法教程
在前端开发的过程中,编写 HTML.CSS 代码始终占据了很大的工作比例.特别是手动编写 HTML 代码,效率特别低下,因为需要敲打各种“尖括号”.闭合标签等.而现在 Emmet 就是为了提高代码编写 ...
随机推荐
- php7安装及配置
一.下载php-7.0.5http://cn2.php.net/distributions/php-7.0.5.tar.gz 二.解压安装:# tar zxvf php-7.0.5.tar.gz# c ...
- 在Win7系统中搭建Web服务器
局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...
- iOS开发中常用到的宏定义
1.首次启动判断: #define First_Launched @"firstLaunch" 2.ios7系统判断: #define IsIOS7 ([[[UIDevice cu ...
- 正则基础之——捕获组(capture group)
1 概述 1.1 什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用.当然,这种引用既可以是在正则表达式内部,也可以是 ...
- 【测试分析】HTSM模型
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5508428.html 概述 HTSM全称Heuristic ...
- 针对ajax执行后swiper特效无法执行解决方案
ajax执行后重新绑定swiper事件.
- 在MVC3中修改KindEditor实现图片删除
编辑器KindEditor可以上传图片,但却不能删除图片,因此我们通过修改一些文件,对KindEditor进行扩展,使得KindEditor能删除服务器上的图片. 主要方法就是:在图片空间中浏览图片, ...
- VMware安装Linux第一天
今天上午下载了VMware-workstation_full_12.1.1.6932,它的Key是5A02H-AU243-TZJ49-GTC7K-3C61N,这些都是网络上搜罗到的. VMWare安装 ...
- 安卓和ios的lineheight的不一样如何解决?
lineheight在pc端上显示很正常,但是在手机就很不同,在iphone6上,设置了lineheight,但是文本上面多了几像素,如果你设置lineheight在35px一下的按钮(用span做的 ...
- Lua JSONRPC学习笔记
JSON RPC JSON RPC 为利用json数据格式来执行远程调用方式, 作用同xmlrpc,不过与xmlrpc相比, jsonrpc更加轻量,json更加节省数据量,更加可读性高. 官网网站: ...