zoukankan      html  css  js  c++  java
  • 大家一起学习less 3:命名空间

    这其实是“嵌套规则”的升级版。

    我们先看官网例子吧:

    //LESS
    //这里是命名空间的定义,里面包含一个button方法
    #bundle {
      .button () {
        display: block;
        border: 1px solid black;
        background-color: grey;
        &:hover { background-color: white }
      }
    }
    //这里是具体调用,通过XXX > YYY方式进行调用,本人觉得用 -〉更可靠,起码长得不像亲子选择器
    #header a {
      color: orange;
      #bundle > .button;
    }
    
    /* 生成的 CSS */
    #header a {
    color: orange;
    display: block;
    border: 1px solid black;
    background-color: grey;
    }
    #header a:hover {
    background-color: #ffffff;
    } 
    
    

    上面的命名空间定义,不要以为只有ID选择器才可以,任何合法选择器也行,如

    //LESS
    //模块名改为类了
    .bundle {
      .button () {
        display: block;
        border: 1px solid black;
        background-color: grey;
        &:hover { background-color: white }
      }
    }
    #header a {
      color: orange;
      .bundle > .button;
    }
    
    /* 生成的 CSS */
    #header a {
    color: orange;
    display: block;
    border: 1px solid black;
    background-color: grey;
    }
    #header a:hover {
    background-color: #ffffff;
    } 
    
    

    我是强烈建议,对于这些命名空间(其他叫模块更恰切些),只应该包含方法

    
    //LESS
    //这里应该只包含方法,否则里面的合法语句会生成出来
    #bundle {
      .button () {
        display: block;
        border: 1px solid black;
        background-color: grey;
        &:hover { background-color: white }
      }
      .red{ color: red; }
    }
    //这里是具体调用,通过XXX > YYY方式进行调用,本人觉得用 -〉更可靠,起码长得不像亲子选择器
    #header a {
      color: orange;
      #bundle > .button;
    }
    /* 生成的 CSS */
    
    #bundle .red {
      color: red;
    }
    #header a {
      color: orange;
      display: block;
      border: 1px solid black;
      background-color: grey;
    }
    #header a:hover {
      background-color: #ffffff;
    }
    

    具体自己可以到这个网站玩玩!

  • 相关阅读:
    PeaZip 4.7.3 发布,跨平台压缩工具
    Liferea 1.8.10 发布,Linux的RSS阅读
    PyParticles 0.2.1 发布,粒子模拟工具箱
    微软公布 Windows Phone 8 多项新特性
    SecureCRT 7.0.2 发布,支持 Windows 8 系统
    Qore PostgreSQL Module 2.0 发布
    libquickmail 0.1.6 发布,邮件发送包
    Mobile Lua 6.5 发布,MoSync 的 Lua 移植版本
    企业用户缘何抓住 Windows XP 不放
    Knockout.js 2.2 发布,JavaScript UI 库
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/2684177.html
Copyright © 2011-2022 走看看