摘要:函数更多的用处在于封装一些需要加前缀的属性,或是多个参数的属性,同时命名一定要足够的语义化。适当嵌套,以保持的优雅。有时要考虑兼容性,需要避免编译某条属性,方法即在值的前面加一个符号具体如下安装同时推荐在线编译网站,能够实时看到效果。
LESS 是一门CSS预编译语言,犹记得当初打算使用CSS预编译语言的时候,可选的有SASS、LESS、Stylus三门,刚好那个时候在学习bootstrap,bootstrap项目中样式就是less写的,从此就结下了于LESS的缘分。LESS使用的快一年的时间了。
下面简单的列举一下我最爱的三个LESS的特性:
变量
编译前:
@color: #ccc; #header { color: @color; } h2 { color: @color; }
编译后
#header { color: #ccc; } h2 { color: #ccc; }
混合(Mixins)
编译前
.rounded-corners (@radius: 5px) { -webkit-border-radius: @radius; -moz-border-radius: @radius; -ms-border-radius: @radius; -o-border-radius: @radius; border-radius: @radius; } #header { .rounded-corners; } #footer { .rounded-corners(10px); }
编译后
#header { -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; } #footer { -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; }
嵌套
编译前
#header { h1 { font-size: 26px; font-weight: bold; } p { font-size: 12px; a { text-decoration: none; &:hover { border-width: 1px } } } }
编译后
#header h1 { font-size: 26px; font-weight: bold; } #header p { font-size: 12px; } #header p a { text-decoration: none; } #header p a:hover { border-width: 1px; }
这三个原因我想足以让人爱上LESS了。但是这里需要注意的仍然是有些点:
变量命名是好事,尤其是对颜色、字体、栅格系统有非常大的帮助,但是使用过程还是需要谨慎,最好是有张网站用色的色表图片,展列整个网站所用颜色或者是直接做成网页显示。这样方便多人合作。
函数更多的用处在于封装一些需要加前缀的属性,或是多个参数的属性,同时命名一定要足够的语义化。
嵌套对程序员更友好, 也更好管理, 但是嵌套过深的话这点就成了灾难,会让人看的整个人都斯巴达掉。 适当嵌套,以保持CSS的优雅。
有时要考虑兼容性,需要避免编译某条属性,方法即在值的前面加一个~符号,具体如下:
.class { filter: ~"ms:alwaysHasItsOwnSyntax.For.Stuff()" }
LESS 安装, 同时推荐less在线编译 网站,能够实时看到效果。
LESS 能够做数值运算,提供一些函数, 但是我怎么都感觉那是对设计师友好呢, 是我打开方式错了么?
参考文章:
LESS 中文官网
LESS Getting started
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110894.html
摘要:是个类似于的前端工作流工具,今天就简单的介绍一下和一些我的使用感受在中安装全局切换到你的前端工作目录下确保你的前端工作目录下有这个文件然后就已经安装好了,马上就可以进入简单的配置了。但是在使用的工作之中会遇到一些问题。 gulp 是个类似于grunt的前端工作流工具,今天就简单的介绍一下gulp和一些我的使用感受 Installing gulp 在Terminal中安装全局gulp...
摘要:作为一个有追求的前端,这是不可以接受的。两大特性在不刷新页面的情况下向服务器端发送请求从服务器端接收数据,并进行对应的逻辑处理请求流程首先先建立一个异步请求对象第一步的对象设置已经好了。在闭包中进行相关的操作。 ajax的使用一直是以jQuery为主,对于底层的实现有点不明觉厉。作为一个有追求的前端,这是不可以接受的。便让我们今晚好好走进ajax的内心世界。 ajax 两大特性: ...
摘要:因为我希望这是一个系列的文章,所以开始之前先简单说一下,我几乎没用过这个框架写过项目,所以文章中难免会有一些比较外行的说法。先整理用法,然后再整理自己的框架。 因为我希望这是一个系列的文章,所以开始之前先简单说一下,我几乎没用过vue这个框架写过项目,所以文章中难免会有一些比较外行的说法。当然,我用过一些时间的angular,也曾经解决过一些同行们vue方面的问题。所以如果有人原因看的...
摘要:昨天写了一下节点绑定的替换,已经如何检测的方法今天优化一下,勉强实现一个双向绑定看下昨天的代码这里是在实现双向绑定之前,先普及一个和的知识。如果强行给之前的赋值,就会发生无限的情况。毕竟还在正式学习期。 昨天写了一下节点绑定model的替换,已经如何检测model 的方法今天优化一下,勉强实现一个双向绑定看下昨天的代码 function Vue(obj) { ...
阅读 1570·2021-09-24 10:38
阅读 1497·2021-09-22 15:15
阅读 3057·2021-09-09 09:33
阅读 904·2019-08-30 11:08
阅读 637·2019-08-30 10:52
阅读 1251·2019-08-30 10:52
阅读 2342·2019-08-28 18:01
阅读 518·2019-08-28 17:55