Less

本文介绍LESS CSS,一种动态样式语言,用于为CSS添加动态特性,如变量、混合、嵌套等功能,提高CSS的编写效率和维护便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网站重构用到了Less。
what is this?
这里写图片描述
LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。

1 变量

@color:#826650; // 主色调
@color0:rgba(0,0,0,0.5);

.page{color:@color;background-color:@color0;}

@nice-blue: #5B83AD;
@light-blue: @nice-blue + #111;

#header { color: @light-blue; }

2 混合

//定义圆角
.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);
}

3 嵌套

  p {
        font-size: 12px;
        a {
            text-decoration: none;
            &:hover {
                border-width: 1px
            }
        }
    }

4 函数和运算
运算提供了加,减,乘,除操作;我们可以做属性值和颜色的运算,这样就可以实现属性值之间的复杂关系。LESS中的函数一一映射了JavaScript代码,如果你愿意的话可以操作属性值。

@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
    color: (@base-color * 3);
    border-left: @the-border;
    border-right: (@the-border * 2);
}
#footer {
    color: (@base-color + #003300);
    border-color: desaturate(@red, 10%);
}

5 引用

#bundle {
    .button () {
        display: block;
        border: 1px solid black;
        background-color: grey;
        &:hover { background-color: white }
    }
    .tab { ... }
    .citation { ... }
}


#header a {
    color: orange;
    #bundle > .button; // 看,引用了#bundle 里button的全部样式
}

6 关于注释

less有两种注释 ,// 以及 /* 注释内容*/

但是双斜线的注释,在编译成 CSS 的时候自动过滤掉。

以上是Less 的基本的用法。

这里写图片描述

我是用的一个Less 编辑器,Koala 。这是开发的LESSCSS/SASS编译工具。下载地址:http://koala-app.com/index-zh.html

使用到其余一些语法函数,挑出一些可能会用到的

1 颜色透明

fadein(@color, 10%)

降低颜色的透明度(或增加不透明度),令其更不透明,对不透明的颜色无效。如果要增加颜色的透明度,使用 fadeout() 函数。

fadein(#ccc,90%)

这里写图片描述

2 convert 转换数字单位

第一个参数为带单位的数值,第二个参数为单位。如果两个参数的单位是兼容的,则数字的单位被转换。如果两个参数的单位不兼容,则原样返回第一个参数。

convert(9s, "ms")  // 你可以在做过渡效果的时候使用呀

这里写图片描述

3 rgb 通过十进制红色、绿色、蓝色三种值 (RGB) 创建不透明的颜色对象。
这里写图片描述

4 @arguments 变量

@arguments包含了所有传递进来的参数。 如果你不想单独处理每一个参数的话就可以像这样写:

.box-shadow (@x: 0, @y: 0, @blur: 1px, @color: #000) {
    box-shadow: @arguments;
    -moz-box-shadow: @arguments;
    -webkit-box-shadow: @arguments;
}
.box-shadow(2px, 5px);

5 !important关键字

调用时在混合后面加上!important关键字表示将混合带来的所有属性标记为!important:

.mixin (@a: 0) {
    border: @a;
    boxer: @a;
}
.important {
    .mixin(2) !important; 
}

编译成:

.important {
    border: 2 !important;
    boxer: 2 !important;
}

查看参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值