美文网首页
less之路

less之路

作者: Daryl_Z | 来源:发表于2018-04-26 12:11 被阅读0次

1.less的使用方法 :自行搜索

2.注释:

      //单行注释(通常用于生产环境)
      /**/多行注释
      区别:多行注释会被解析到css文件中,单行不会

3.变量

变量允许我们定义一系列通用的样式,然后在需要的时候去调用所以在做全局样式调整的时候我们可能只需
要修改几行代码就好了
    @符号开头:@width:12px;
     例子: @width:2px;
           @style:solid;
           @red:red;
           @blue:blue;
           .box1{
                width:200px;
                height:100px;
                border:@width @style @red;
          }
           .box2{
                width:200px;
                height:100px;
                border:@width @style @blue;
          }
           .box3{
                width:200px;
                height:100px;
                border:@width @style @red;
                background:@red;
          }
更改样式只需要引用变量名即可,方便

4.作用域(变量发生作用的区域)

  .box{
        @width:20px;
        .main{
            wdith:@width;
        }
  }
  这样是没问题的,{}就是域,和js一样
.box2{
    width:@width;//在这里引用@width变量
}
这样是错误的,会报错

4.嵌套

我们可以在一个选择器中嵌套另一个选择器来实现继承,这样很大程度减少了代码量,并且代码开起来更加
清晰。
例如:写一个导航栏
html结构:
  <nav>
      <div class='content'>
            <div.left>
                  <a href="#"></a>
                  <a href="#"></a>
                  <a href="#"></a>
            </div>
            <div.right>
                  <a href="#"></a>
                  <a href="#"></a>
                  <a href="#"></a>
            </div>
      </div>
  </nav>
  nav{
      height:50px;
      background:blue;
      .content{
          margin:0 auto;
          width:80%;
          a{
                color:#fff;
                &:hover{  //&符号代表a标签本身
                    color:red;
                }
          }
          .left{
                float:left;
                 &.padding-left{  //给.left添加padding-left,需要&符号,看编译好的css
                        padding-left:20px;
                  }
          }
          .right{
                floar:right;
          }
     }
}
结构很清晰,父子级等关系很明显

5.混合

@border:'border solid #ccc';
box{
    width:@border;
}
以上是错误的方式
混合:将一个定义好的classA引入到另一个classB中,从而实现classB继承classA中的所有属性
1.最简单的混合方式:
.classA{
      border:1px solid #ccc;
}
.clearFix{
    *zoom:1;
    &:after{
        content:' ';
        display:block;
        clear:both;
    }
}
//公用样式放到前面
.classB{
    .classA;
    .cleafFix;
}
2.带参数的混合:
.border(@color){
     border:1px solid @color;
}
.box1{
      .border(#ccc);
}
.box2{
      .border(#f00);
}
3.多个参数的混合
.border(@width,@style,@color){
     border:@width @style @color;
}
.box1{
      .border(1px,solid,#ccc);
}
.box2{
      .border(1px,solid,#f00);
}
.box3{
      .border(2px,solid,#f00);
}
.box3{
      .border(2px,dotted,#f00);
}
实参形参一一对应,一个都不能少
4.带默认值的参数混合
.border(@width:1px,@style:solid){
     border:@width @style #ccc;
}
.box1{
      .border(1px dotted);//如果修改第二个参数的话都必须传实参,一一对应
}
.box2{
      .border();
}
.box3{
      .border(2px);
}
.box3{
      .border();
}
5.arguments变量:代表了所有的参数(在不在乎参数顺序的时候可以使用)
.border(@style:solid,@width:1px){
     border:@arguments #ccc;
}
.box1{
      .border(1px dotted);//如果修改第二个参数的话都必须传实参,一一对应
}
.box2{
      .border();
}
.box3{
      .border(2px);
}
.box3{
      .border();
}
5.模式匹配
.border(top,@width:1px){
      border-top:@width solid #ccc;
}
.border(right,@width:1px){
     border-right:@width solid #ccc;
}
.border(bottom,@width:1px){
     border-bottom:@width solid #ccc;
}
.border(left,@width:1px){
     border-left:@width solid #ccc;
}
.border(@_,@width:1px){   
      width:100px;
}
.box1{
    .border(top,5px);
}
.box2{
    .border(right);
}
.box3{
    .border(bottom,round(2.3)*1px);//Math函数用法
}
.box4{
    .border(left);
}
//@_  代表公用样式,即使有@_,使用的时候还是要传首参
//Math()函数 :
  round(5.5);四舍五入
  ceil(2.1);return 3  ,向上取整
  floor(2.9);return 2,  向下取整
6.命名空间
.blue{
      .button{
            background:blue;
      }
}
.red{
      .button{
            background:red;
      }
}
.box{
    .red > .button;
}
7.import
引入另一个less文件
@import 'global';//后缀名.less可加可不加
例如写一个样式重置,在里面可以定义一个变量@rem:32rem;这个变量可以直接使用
8.避免编译
.box{
      width:@rem;
      font:(12/@rem)~'/'(20/rem) '宋体';
}

相关文章

  • less之路

    1.less的使用方法 :自行搜索 2.注释: 3.变量 4.作用域(变量发生作用的区域) 4.嵌套 5.混合

  • 『译』Nestlé’s health kick【雀巢的健康之道】

    Nestlé:A life less sweet 雀巢:略显苦涩的发展之路 As rivals nibble at...

  • web前端学习线路图2

    十二、LESS教程 Less教程Less 安装Less 嵌套规则Less 操作Less 转义Less 函数 Les...

  • Vue项目使用less

    1 先下载less less-loader: npm i less less-loader -S 2 将less配...

  • vue使用less

    npm安装 less less-loader npm install --save less less-loade...

  • Less的使用

    Less使用 1.什么是less 2.less有什么用 3.怎么使用less 4.less批量生成代码 less简...

  • Sql-labs-page3

    less-38 (堆叠注入) 堆叠注入讲解 less-39 解题链接 less-40 less-41 less-...

  • 第十三周第一天笔记之less

    less知识 简书链接less使用总结:less基础知识less使用总结2:less使用总结 单位px,em,re...

  • less的介绍

    less是什么? less是css云处理器 全局安装less包 查看less是否安装成功 less完全兼容css ...

  • LESS/SASS学习记录

    LESS 参考资料:LESS官网w3cplus less入门教程 less的编译 less特性及语法 变量——V...

网友评论

      本文标题:less之路

      本文链接:https://www.haomeiwen.com/subject/jwlplftx.html