初识less就被其函数式编程css深深吸引了,而函数式编写css带来的好处不言而喻,复用,复用,还是复用。话不多说下面简单介绍下个人使用less的心得

首先网上有很多less的安装教程,这边不多做介绍,我才用的是比较简单的less引入方式,只需要在头部script src一下就好,当然如同预编译一般,肯定是要注意less文件与less.js的位置。

当然这边有一小点要提醒注意下,因为引入的less文件是要交给less.js编译的,这时候Chrome大哥出于一系列安全机制,卡死了less在本地预览的资格。

如果想本地浏览两个方法:1.用火狐2.配置个node环境,安装anywhere模块,这样我们就可以本地预览了,当然同理本地配置服务器环境一样能解决问题

废话不多说,我们来看看less究竟有怎么样的神通

当然如果是客户端的less就完全没有这些问题了,本身编译完就会导出一个组合后的css,而后期调试只需要改改工程文件,再次导出就好

1.变量代替及四则运算

变量的引入,除了简化冗长的写法,同时为复用增加了便利,而四则运算让人有中写脚本语言的感觉

@gray:#DDC;
@normal:18px;
@center:translate(-50%, -50%);
.index{color:@gray;font-size:@normal}
.test{background-color:@gray;width:100px;height:100px;transform:@center;-webkit-transform:@center;font-size:@normal+1px}

2.层次性代码

这边就贴上我之前写过的一段代码,代码首先层次性很强,其次这种写法避免了.index_switchPart span{.....},亲子选择器,后代选择器这些冗长的写法,不仅方便调试,而且很大程度上节省了时间

.index_switchPart{
width:100%;
position:relative;
height:4.4rem;
background-color:white;
span{
position:absolute;
top:50%;
left:6%;
transform:@tf_left;
-webkit-transform:@tf_left;
color:@pink_text;
}
div{
width:3rem;
height:3rem;
background: url("../img/switch.png") no-repeat right center;
position:absolute;
right:6%;
top:50%;
transform:@tf_left;
-webkit-transform:@tf_left;
background-size: 100%;
border: none;
outline: none;
  }
}

3.函数式编程

如果谈到css为人头疼的诟病,那肯定要提到兼容,各大浏览器霸主的竞争,最后为难的终究是我们这些小码农,哈哈。less对于兼容代码的复写无异于是新世纪的福音啊,稍微有点js,c基础的都能入门

.box(@color,@frist,@second,@third,@fouth){
-moz-box-shadow:@color @frist @second @third @fouth; /* Firefox */
-webkit-box-shadow:@color @frist @second @third @fouth; /* Safari 和 Chrome */
box-shadow: @color @frist @second @third @fouth; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */ }
.index{
width:100px;
height: 80px;
background-color:red;
.box(gray,1px,1px,1px,1px);
}

4.数学函数

less官方文档同时还提供了一系列的数学函数,既然css中可以运算,可以调用类函数,这里数学函数的重要性就不言而喻了

这里就不一一介绍了,http://less.bootcss.com/functions/ 有空的话,可以去看看,可以说还是蛮良心了

最新文章

  1. 阿里云本地FTP怎么连接?通用win7,win8,win8.1,win10
  2. 表达式求值(noip2015等价表达式)
  3. Js 根据不同浏览器弹出窗口
  4. BZOJ3867 : Nice boat
  5. test命令的用法
  6. 格式太旧或是类型库无效。 (Exception from HRESULT: 0x80028019 (TYPE_E_UNSUPFORMAT))
  7. 像C++一样写JavaScript
  8. 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
  9. 14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发
  10. Mencached使用
  11. 敏捷开发(六)- SCRUM全员会议
  12. 显示ubuntu 10.4右上角网络图标
  13. day10(闭包、import模块、函数命名空间)
  14. 20175330 实验二《Java面向对象程序设计》实验报告
  15. oracle 会话 解锁
  16. DOM.getBoundingClientRect()
  17. Git教程学习(一)
  18. Unity和Android混合开发
  19. SpringBoot(二)-- 支持JSP
  20. Cocoa Touch提供了哪几种Core Animation过渡类型?

热门文章

  1. CGI与FastCGI nginx+PHP-FPM
  2. C#发送邮箱
  3. java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis
  4. BPM合同管理解决方案分享
  5. Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define ...
  6. android计算每个目录剩余空间丶总空间以及SD卡剩余空间
  7. web音乐播放器总结
  8. 图形数据库Neo4J简介
  9. [异常解决] windows用SSH和linux同步文件&linux开启SSH&ssh client 报 algorithm negotiation failed的解决方法之一
  10. ADO.NET Entity Framework 在哪些场景下使用?