zoukankan      html  css  js  c++  java
  • Less

    1.Sublime Text + Koala编辑工具

    1. Sublime
      • 1)Html编程工具,与一般的HTML编程工具没有什么区别
      • 2)可以设置less编程的时候使一些标签高亮有提示;
    2. Koala
      • 1)Less编程工具:
        • 将我们要编译的Less文件拖拽到工具内
        • 点击文件,设置为自动编译,
        • 输出方式:
          • normal为正常模式,有缩进,
          • compress为简短模式,输出最小字节的css文件,没有缩进
        • 设置输出路径:一般都和less一个文件夹;
    3. HTML中使用配置
      <link rel="stylesheet/less" type="text/css" href="styles.less" />
      <script src="less.js" type="text/javascript"></script>

    2.语法详解

    1. 注释
      • 1)第一种:在css中显示注释: /*注释*/
      • 2)第二种:在css中不显示注释: //注释
    2. 变量
      • 1)使用@符号定义变量
      • @body_300px;
        body{width:@body_width;}
    3. 混合
      • 1)普通混合
      • .border{
           border:1px solid red;
        }
        .box{
            width:30px;
            hight:30px;
            .border;
        }
      • 2)带参数的混合
      • .border(@color){
             border:1px solid @color;
        }
        .box{
            width:30px;
            hight:30px;
            .border(red);
        }
      • 3)带默认值参数的混合
      • .border(@color:red){
            border:1px solid @color;
        }
        .box{
            width:30px;
            hight:30px;
            .border(green);
        }
    4. 匹配规则
      • 1)根据参数来判断使用哪个css
      • //绝对定位
        .pox(a){position:absolute;}
        //相对定位
        .pox(r){position:relative;}
        //固定定位
        .pox(f){position:fixed;}
        //所有的pox方法都要引入的css属性
        .pox(@_){width:20px;}
        
        //混合
        .box{
            .pox(r);
        }
        
        //输出的css:
        .box {
            position: relative;
            width: 20px;
        }
    5. 运算
      • 1)可以实现数值的加减乘除
      • @300px;
        .body{
            width: (@width - 20)*5;// 注意(@width - 20)减号之间要有空格
        }
    6. 嵌套
      • 1)嵌套的方式编写层叠样式
        • 以前:
        • #header { color: black; }
          #header .navigation {font-size: 12px;}
          #header .logo { width: 300px; }
          #header .logo:hover {text-decoration: none;}
        • 现在:
        • #header {
              color: black;
              .navigation {
                  font-size: 12px;
              }
              .logo {
                  width: 300px;
                  &:hover {
                       text-decoration: none
                  }
              }
          }    
        • 注意: & 符号代表上一层选择器,如果你想写串联选择器,而不是写后代选择器,就可以用到&了
    7. @arguments
      • 1)包含所有传递进来的参数
      • .border_arg (@w:30px,@c:red,@xx:solid){
                border:@arguments;//等价于border:@w @c @xx;
        }    
    8. 避免编译
      • 1)使用”~”号加上单引号和双引号来避免让less编译,原封不动的让css3来编译
      •  .test_03{
                width:~’calc(300px -30px)’;
        }
    9. !important关键字
      • 1)会为所有混合所带来的样式添加上!important 
      • .test_Important{
                .border_redius() !important;
        }    
    10. 命名空间
      • 1)为了更好的组织CSS,将一些变量或者混合模块打包起来,之后重复使用
      • #bundle {
            .button () {
                display: block;
                border: 1px solid black;
                background-color: grey;
                &:hover { 
                    background-color: white 
                }
            }
            .tab { ... }
            .citation { ... }
        }        
      • 只需要在 #header a中像这样引入 .button:
      • #header a {
            color: orange;
            #bundle > .button;
        }
    11. 作用域
      • 1)LESS 中的作用域跟其他编程语言非常类似,首先会从本地查找变量或者混合模块,如果没找到的话会去父级作用域中查找,直到找到为止.
      • @var: red;
        #page {
            @var: white;
            #header {
                color: @var; // white
            }
        }
        #footer {
            color: @var; // red
        }
    12. Importing
      • 1)你可以在less文件中通过下面的形势引入 .less 文件, .less 后缀可带可不带,也可以引用.css文件
      • @import "lib.less";
        @import "lib";
        @import "lib.css";
    13. 字符串插值
      • 1)变量可以用类似ruby和php的方式嵌入到字符串中,像@{name}这样的结构:
      • @base-url: "http://assets.fnord.com";
        background-image: url("@{base-url}/images/bg.png");

    精品原创,谢谢打赏...

  • 相关阅读:
    使用git笔记
    linux 进程管理的一些命令使用
    [zz]XML DOM 教程
    [zz]std::string 和 c 的字符串
    [zz]grep 命令的使用
    [zz]XercesC++ 参考
    [zz]Windows WordPress本地安装教程
    今天调出来的关于cello的bug
    shell 编程的一些问题
    关于java中边界值校验的问题
  • 原文地址:https://www.cnblogs.com/yysbolg/p/6703049.html
Copyright © 2011-2022 走看看