Less 日常用法

栏目: CSS · 发布时间: 6年前

内容简介:less 和 sass 是两种 css 预编译语言,其目的是为了更快、更结构的编写本文我只写一些自己常用的方法,要看全部的帮助文档,参阅这里:写一个

Less 日常用法

你需要了解的

less 和 sass 是两种 css 预编译语言,其目的是为了更快、更结构的编写 css 文件,是一种强大的 css 编译语言,能使用 变量、运算符、判断、方法等等。

本文我只写一些自己常用的方法,要看全部的帮助文档,参阅这里: http://lesscss.cn/features/

看个小例子

写一个 .btn 类并支持 :hover :active 样式

CSS

.btn {
/* btn 初始样式 */
}
.btn:hover{
/* :hover 样式 */
}
.btn:active{
/* :active 样式 */
}

Less

.btn{
// btn 初始样式
    &:hover{
        // hover 样式
    }
    &:active{
        // active 样式
    }
}

可以看出 less 的结构要比 css 清晰,并且写的也要更少。

下面的 less 在使用中就会生成上面的 css。

而这还只是皮毛,保证你用过 less 之后就不会再用 css 写样式了。

变量

less 是支持变量的,因为有了变量,让 less 在改变全局样式的时候更加方便了。

一般使用中,颜色是最常用的。其次是单位长度。

@变量名: 变量值
// 如:
// Colors
@red:       #CD594B;
@yellow:    #F8CE5E;
@green:     #4B9E65;
@yellow:    #5A8DEE;

// Unites
@btn-padding: 4px;
@btn-lineheight: 26px;

实际使用中:

less

.btn-success {
    background-color: @green;
    line-height: @btn-lineheight;
    color: #fff;
}

生成 css

.btn-success {
    background-color: #4B9E65;
    line-height: 26px;
    color: #fff;
}

混合

可以直接在其它类中插入其它类的内容。

less

.bg-yellow {
    background-color: @yellow;
}

.btn-warn {
    line-height: @btn-lineheight;
    .bg-yellow;
}

会生成 css

.bg-yellow {
    background-color: #F8CE5E;
}

.btn-warn {
    line-height: 26px;
    background-color: #F8CE5E;
}

运算符

less 支持 + - * / ( ) 运算,看例子

@width-20: 20px;
@count: 3;
@per-10: 10%;

.card{
    width: width20 * @count;
    min-width: @per-10 * 7;
}
// 注意,运算的时候,要在运算符两边留空格,因为可能会有横线连接的变量,造成混淆。
// 单位 less 可以自动识别,不用担心单位。

输出

.card{
    width: 60px;
    min-width: 70%;
}

less 的内置函数

参阅 : http://lesscss.cn/functions/#...

完整的函数有:

杂项函数字符串函数列表函数数学函数类型函数颜色定义函数颜色通道函数颜色操作函数颜色混合函数

这里只说一此关于颜色的常用方法,因为其它的我现在也没怎么用到。

lighten(颜色, 百分比)
// 调高颜色的亮度

darden(颜色, 百分比)
// 调低颜色的亮度

saturate(颜色, 百分比)
// 调高饱和度

desaturate(颜色, 百分比)
// 调低饱和度

Less 日常用法

@green: #4B9E65;


.green{
  background-color: @green;
}

.green-lighten{
  background-color: lighten(@green,20%);
}

.green-darken{
  background-color: darken(@green,20%);
}

.green-saturate{
  background-color: saturate(@green,20%);
}

.green-desaturate{
  background-color: desaturate(@green,20%);
}

输出

.green {
  background-color: #4B9E65;
}
.green-lighten {
  background-color: #88c79c;
}
.green-darken {
  background-color: #2a5939;
}
.green-saturate {
  background-color: #34b55c;
}
.green-desaturate {
  background-color: #62876e;
}

函数方法的使用

有时候,比如,你需要写一个按钮类 .btn-success , .btn-danger , .btn-default , .btn-warning ,如果单个定义的话,会很麻烦,现在用了方法,就可以直接填参数完成了。

less

@green:     #4B9E65;
@blue:      #5A8DEE;
@yellow:    #F8CE5E;
@red:       #CD594B;

.btn-template(@bgcolor,@fcolor:white){
// 定义了两个参数,第二个参数有默认值
// 也就是说这个方法可以值一个或两个参数
// 另外 带 () 参数的方法不会把自身渲染到 css 中,只有调用才会渲染
  color: @fcolor;
  border-color: darken(@bgcolor, 3%);
  background-color: @bgcolor;
  &:hover {
    color: @fcolor;
    background-color: darken(@bgcolor, 5%);
  }
  &:active {
    color: @fcolor;
    background-color: darken(@bgcolor, 10%);
  }
}

.btn-blue{
  .btn-template(@green)
}

.btn-blue{
  .btn-template(@blue)
}

.btn-blue{
  .btn-template(@yellow)
}

.btn-blue{
  .btn-template(@red)
}

上面的 less 输出为下面的内容,有没有很厉害

.btn-blue {
  color: white;
  border-color: #46945e;
  background-color: #4B9E65;
}
.btn-blue:hover {
  color: white;
  background-color: #438d5a;
}
.btn-blue:active {
  color: white;
  background-color: #3b7b4f;
}
.btn-blue {
  color: white;
  border-color: #4c83ed;
  background-color: #5A8DEE;
}
.btn-blue:hover {
  color: white;
  background-color: #437dec;
}
.btn-blue:active {
  color: white;
  background-color: #2c6de9;
}
.btn-blue {
  color: white;
  border-color: #f7ca4f;
  background-color: #F8CE5E;
}
.btn-blue:hover {
  color: white;
  background-color: #f7c746;
}
.btn-blue:active {
  color: white;
  background-color: #f6bf2d;
}
.btn-blue {
  color: white;
  border-color: #ca4e3f;
  background-color: #CD594B;
}
.btn-blue:hover {
  color: white;
  background-color: #c74737;
}
.btn-blue:active {
  color: white;
  background-color: #b34032;
}

文件拆分,文件引用

像 js 和其它高级开发语言一样, less 也可以引用外部的 less 文件

引用格式:

@import "variables.less"

这样就把外部的 variables.less 引入到当前文件中了

variables.less

// colors
@green:     #4B9E65;
@blue:      #5A8DEE;
@yellow:    #F8CE5E;
@red:       #CD594B;

// units
@common-height: 30px;
@input-height: 26px;
@input-padding: 4px;

主体less文件

@import "variables.less"

// 主文件里面就可以引用 variables.less 中的变量了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective JavaScript

Effective JavaScript

David Herman / Addison-Wesley Professional / 2012-12-6 / USD 39.99

"It's uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and h......一起来看看 《Effective JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具