less学习笔记

1 篇文章 0 订阅

一、CSS预编译

常见的css预编译器有三种:less、sass、stylus。

Bootstrap使用的是less,想看bootstrap源码的话先学习less,大概2个小时就搞定less。

二、Less

是css的预编译器,扩展了css语言;增加了变量、mixin、函数等特性,使css更易维护和扩展;既可以在客户端运行,也可在浏览器端运行。它不是一个直接使用的语言,而是编译成CSS再加以使用。

三、功能

  1. 注释: 有行注释(// xxx)和块注释(/* xxx */),注意行注释不会被编译到css文件中,而块注释使可以编译到css文件中的。
  2. 变量:使用@声明一个变量
    @color: pink;

    【注】a. 作为选择器和属性名,使用@{selectorName}的形式; b.作为URL,使用@{url}; c. 变量有延迟加载; d.变量使块级作用域。

  3. 嵌套规则:a. 基本的嵌套规则,和html的嵌套关系一致(父子关系);  b. &的使用(兄弟或者说平级关系)。

    less中的写法:
    .container {
        &:hover {
            color: #ccc;
        }
    }
    
    
    解析为:
    .container:hover {
        color: ccc;
    }

     

  4. 混合:将一系列属性从一个规则集引入到另一个规则集的方式。(个人理解为js函数的调用)    a. 普通混合  b. 不带参数的混合  c. 带参数的混合  d. 带有默认值参数得到混合  e. 带多个参数的混合   f. 命名参数(可使用@color:pink;来指定传入对应的形参 )  g. 匹配模式(eg:三角形的方向)  h. arguments变量

  5. less的运算 :加减乘除

    width: (100 + 100px); // 只需要一个数带单位即可

    css3中有cale()属性

  6. 继承:性能比混合高,灵活度比混合低

    // 混合代码
    .juzhong {  // 定义的是类,不是混合
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    
    .box:extend(.juzhong) {}
    .box { &:extend(.juzhong)}
    .box { &:extend(.juzhong all)}

    【注】 同名混合名(@_,param1, param2...)第一个参数是匹配符,后面必须带上同名混合的形参,每次会自动调用该混合。

  7. 避免编译

    padding: ~"calc(100px + 100)"

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值