• less学习笔记


    一、Less是什么

           Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。Less 可以运行在 Node 或浏览器端。类似js中的jquery。

           Less 网站 http://lesscss.net,中文旧网站 http://old.lesscss.net/article/document.html

    二、编译工具

           1、Koala编译,下载地址:http://koala-app.com/index-zh.html 

                使用方法:新建style.less文件,将整个目录拖到软件中,然后右键点击less文件设置输出路径,文件名为**.css,html中引入的是这个**.css。

           2、Node,js库

           3、浏览器端使用

            在vue环境引入less: npm install less less-loader --save-dev

    三、Less知识点

           1、Less中的注释

                 可以使用css中的注释 " /**/ " 。会被编译,在最后的css文件中看到

                 也可以使用"//"注释。  编译时会自动过滤掉,不被编译 ,在最后的css文件中不会看到

            2、变量

                  less声明变量用@开头,@变量名:值。

    @300px;
    .box{
        @width;
    }
    

      3、混合(Mixin)

                 (1)不带参数

    .border{
        border:1px solid #000;
    }
    .box{
        .border;
        margin:30px;
    }
    

            (2)带参数

    .border(@border_width){
        border:@border_width solid #000;
    }
    .box{
        .border(2px);
    }
    

       (3)参数带默认值

    .border(@border_10px){
        border:@border_width solid #000;
    }
    .box{
        .border(); // 使用默认值10px
    }
    .area{
        .border(20px); // 使用传入的值20px
    }
    

         4、匹配模式

                 类似于js 中的if,满足条件后才能匹配。以三角形为例,匹配三角形箭头所指方向。

    .triangle(right,@w:5px,@c:#ccc){
        border-wdith:@w;
        border-color:transparent transparent transparent @c;
        border-style:dashed dashed dashed solid;  // dashed 是为了兼容ie6
    }
    .triangle(top,@w:5px,@c:#ccc){
        border-wdith:@w;
        border-color:transparent transparent @c transparent;
        border-style:dashed dashed solid dashed;  // dashed 是为了兼容ie6
    }
    ----------------------------
    .sanjiao{
        0;
        height:0;
        overflow:hidden;
        .triangle(top,10px)
    }
    或
    .triangle(@_,@w:5px,@c:#ccc){ // @_ 固定写法,后面的参数也必须写
        0;
        height:0;
        overflow:hidden;
    }
    .sanjiao{
        .triangle(top,10px)
    }
    

      5、运算

    @100px;
    .box{
        (@width-20)*5;
        color:#ccc - 10;
    }
    

      6、嵌套

                 &对伪类使用 例:hover或focus。对连接的使用,例:&-item。&代表他的上一层选择器。

    ul li{}
    ul li a{}
    ul li a:hover{}
    相当于
    ul{
        li{
            a{
                &:hover{
                }
            }
        }
    }
    

      7、@arguments变量

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

    .border(@w:30px,@c:red,@type:solid){
          border:@arguments;
    }
    

      8、避免编译

                 对于一些不争取的css语法或者Less不认识的专有语法,需要在字符串前面加上“ ~ ”

    .box{
          ~"calc(100% - 35px)";
    }
    

         9、!important关键字

                 会为所有混合所带来的样式,添加上!important。

    .border-radius(@radius:5px){
        -webkit-border-radius:@radius;
        -moz-border-radius:@radius;
        border-radius:@radius;
    }
    .box{
       .border-radius() !important;
    }
    ===
    .box{
        -webkit-border-radius:5px !important;
        -moz-border-radius:5px !important;
        border-radius:5px !important;
    }
    

      

           

  • 相关阅读:
    springmvc 配置多视图,返回jsp,velocity,freeMarker,tiles(模板)等等
    spring,mybatis,多数据源配置
    springMVC分页,interceptor实现
    springMVC全局Exception异常处理SimpleMappingExceptionResolver
    百度FIS入门
    如何安装nodejs
    如何高效部署前端代码,如css,js...
    javascript url几种编码方式
    【转】RBAC权限管理
    elasticsearch 之IK分词器安装
  • 原文地址:https://www.cnblogs.com/zhengziru/p/9351027.html
Copyright © 2020-2023  润新知