Less

1 篇文章 0 订阅

Less 既可以在客户端编译也可以在服务端编译;在客户端编译时,能够看到实时的样式效果,且客户端编译不会保存编译后的产出结果,而刷新浏览器时会重新编译一次;在服务端编译时,可以将编译后的产出结果保存为静态的CSS文件。

Less能够提高书写CSS代码的效率,可视为CSS的编程语言。它包含了内置的函数,变量等等。这些特性使代码重用、维护等等更为方便。

(1)在客户端编译示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Demo</title>
    <link rel="stylesheet/less" href="styles/project.less"/>
    <script src="less.min.js"></script>
</head>
<body>
    <header>the header</header>
    <section>this is a paragraph</section>
    <footer>the footer</footer>
</body>
</html>

其他的Less文件,可以通过@import指令导入到project.less文件中。


(2)在服务端编译

服务端的编译需要借助Node.js,并且通过npm安装相应的less模块:

npm install --global less


安装完成后,可以执行:

lessc project.less > project.css

会将project.less编译后的内容保存在project.css中。


lessc -x project.less > project.css
得到压缩后的编译结果。



Less 语法

(1)变量声明

@color: red;


(2)mixins

声明:

.rounded-corners() {

    border-radius: 5px;

}


使用:

footer {

    .rounded-corners();

}


(3)复用已有class

.class1 {

    property1: value1;

}

.class2 {

    .class1

    property2: value2;

}


此种方式中,.class1也会被编译,如果采用以下方式,.class1 mixin就不会被编译到CSS源代码中:

.class1() {

    property1: value1;

}


(4)带默认参数的mixin

.colored-and-rounded(@background-color: red) {

    .rounded-corners();

    background-color: @bakcground-color;

}


(5)多层嵌套

section {

    h1 {}

    p{}

}


(6)数学运算

@basic-width: 800px

@color: yellow;

.container {

    width: @basic-width * 2/3

}

p {

    color: @color + #111;

}


(7)内置函数

darken()

contrast()

isnumber()

iscolor()


(8)命名空间

#namespace {

    .mixin() {

        color: red;

    }

}

.mixin() {

    color: blue;

}

footer {

    #namespace > mixin;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值