• css----less预处理器


    ###less
    less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言,
    增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展
    LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。

    less的中文官网:http://lesscss.cn/
    bootstrap中less教程:http://www.bootcss.com/p/lesscss/

    ###Less编译工具
    koala 官网:www.koala-app.com

    ###less中的注释
    以//开头的注释,不会被编译到css文件中
    以/**/包裹的注释会被编译到css文件中

    ###less中的变量
    使用@来申明一个变量:@pink:pink;
    1.作为普通属性值只来使用:直接使用@pink
    2.作为选择器和属性名:#@{selector的值}的形式
    3.作为URL:@{url}
    4.变量的延迟加载

    ###less中的嵌套规则
    1.基本嵌套规则

                #wrap{
    
                    #inner{
    
                    }
                }
    <div id="wrap">
    <div id="inner"></div>
    </div>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/less">
                *{
                    margin: 0;
                    padding: 0;
                }
                #wrap{
                    position: relative;
                     300px;
                    height: 300px;
                    border: 1px solid;
                    margin: 0 auto;
                    #inner{
                         100px;
                        height: 100px;
                        background: pink;
                        position: absolute;
                        left: 0;
                        right: 0;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                    }
                }
            </style>
            <script src="../less/less.min.js"></script>
        </head>
        <body>
            <div id="wrap">
                <div id="inner"></div>
            </div>
        </body>
    </html>
    less基本嵌套规则
    *{
        margin: 0;
        padding: 0;
    }
    #list{
        list-style: none;
        line-height: 30px;
         300px;
        background: pink;
        margin: 0 auto;
        li{
            height: 30px;
        }
        a{
            float: left;
           
            &:hover{
                 /*&代表父级*/
                color: red;
            }
        }
        span{
             float: right;
        }
       
    }

    2.&的使用

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <link rel="stylesheet" type="text/css" href="css/index1.css"/>
        </head>
        <body>
            <div id="wrap">
                <div id="inner"></div>
            </div>
        </body>
    </html>
    html引入
    //定义变量
    @zero:0;
    //定义id选择器
    @selector:#wrap;
    //定义宽
    @w:width;
    //颜色选择
      background: url("../img/zdy.jpg");
    //变量的延迟加载
    .class { one: 1; } .class .brass { three: 3; }

    ###less中的混合
    混合就是将一系列属性从一个规则集引入到另一个规则集的方式
    1.普通混合

    .juzhong{
    
    }
    
    #box1{
    
        .juzhong;
    }
    #box2{
    
        .juzhong;
    }


    2.不带输出的混合

    .juzhong(){
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        margin: auto;
    }
    #box1{
         100px;
        height: 100px;
        background: pink;
        .juzhong;
    }
    #box2{
         100px;
        height: 100px;
        background: deeppink;
        .juzhong;
    }


    3.带参数的混合

    .juzhong(@w,@h,@c){
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        margin: auto;
         @w;
        height: @h;
        background: @c;
    }
    
    
    
    #box1{
        .juzhong(100px,100px,pink);
        z-index: 1;
    }
    #box2{
        .juzhong(200px,200px,deeppink);
    }


    4.带参数并且有默认值的混合

    .juzhong(@w:100px,@h:100px,@c:pink){
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        margin: auto;
         @w;
        height: @h;
        background: @c;
    }
    
    #box1{
        //默认值
        .juzhong;
        z-index: 1;
    }
    #box2{
        .juzhong(200px,200px,deeppink);
    }


    5.带多个参数的混合


    6.命名参数

    .juzhong(@w:100px,@h:100px,@c:pink){
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        margin: auto;
         @w;
        height: @h;
        background: @c;
    }
    
    
    
    
    #box1{
        .juzhong();
        z-index: 1;
    }
    #box2{
        .juzhong(@h:200px;@c:deeppink;);
    }


    7.匹配模式

    *{
        margin: 0;
        padding: 0;
    }
    
    
    
    /*向上的三角*/
    .triangle(top,@w:10px,@c:pink){
        border-@w;
        border-color: transparent  transparent  @c transparent ;
        border-style:dashed dashed solid dashed  ;
    }
    /*向下的三角*/
    .triangle(bottom,@w:10px,@c:pink){
        border-@w;
        border-color: @c transparent  transparent   transparent ;
        border-style:solid dashed dashed  dashed  ;
    }
    /*向左的三角*/
    .triangle(left,@w:10px,@c:pink){
        border-@w;
        border-color:  transparent @c  transparent   transparent ;
        border-style: dashed solid dashed  dashed  ;
    }
    /*向右的三角*/
    .triangle(right,@w:10px,@c:pink){
        border-@w;
        border-color:  transparent   transparent   transparent @c;
        border-style: dashed  dashed  dashed  solid;
    }
    
    .triangle(@_,@w:10px,@c:pink){
         0;
        height: 0;
        overflow: hidden;
    }
    
    #sanjiao{
        .triangle(top,50px,deeppink);
    }
    #sanjiao2{
        .triangle(bottom);
    }
    #sanjiao3{
        .triangle(left);
    }
    #sanjiao4{
        .triangle(right);
    }
    View Code


    8.arguments变量

    *{
        margin: 0;
        padding: 0;
    }
    .border(@w:10px,@style:solid,@c:deeppink){
        border: @arguments;
    }
    
    #wrap{
         200px;
        height: 200px;
        background: pink;
        .border();
    }



    ###less运算
    在less中可以进行加减乘除的运算

    #wrap{
        @w * 100 ;
        height: 200px;
        background: pink;
    }

    ###less避免编译

    *{
        margin: 0;
        padding: 0;
    }
    #wrap{
        ~"calc(200px + 700px)";
    }

    ###less继承

    .juzhong(@w:100px,@h:100px,@c:pink){
        &:extend(.common all);
         @w;
        height: @h;
        background: @c;
    }
    #wrap{
        position: relative;
        margin: 0 auto;
         400px;
        height: 600px;
        border: 1px solid;
    }
    
    #box1{
        .juzhong();
        z-index: 1;
    }
    #box2{
        .juzhong(@h:200px;@c:deeppink;);
    }


    性能比混合高

    灵活度比混合低

  • 相关阅读:
    2017 五一 清北学堂 Day1模拟考试结题报告
    2973 枪毙
    2840 WIKIOI——评测
    解决magento保存产品时耗时很长的问题
    easyui-layout中的收缩层无法显示标题问题解决
    JAVA排序(一) Comparable接口
    C语言数据结构----栈与递归
    [置顶] SpecDD(混合的敏捷方法模型)主要过程概述
    Vim 实用技术,第 1 部分: 实用技巧(转)
    如何解决dns解析故障
  • 原文地址:https://www.cnblogs.com/hack-ing/p/11804347.html
Copyright © 2020-2023  润新知