less学习笔记

  1. less中的凝视:
    1. /**/和//;
    2. 注意:css中是不支持//凝视的,所以也不会被编译成css;
  2. 变量: 
    1. 综述:变量同意我们单独定义一系列通用的样式,然后在须要的时候去调用。所以在做全局样式调整的时候我们可能仅仅须要改动几行代码就能够了
    2. 使用方法:@变量名:变量值;
  3. 混合: 
    1. 混合能够将一个定义好的class A轻松的引入到还有一个class B中,从而简单实现class B继承class A中的全部属性。
    2. 我们还能够带參数地调用,就像使用函数一样。
    3. eg:
      // LESS
       
      .rounded-corners (@radius: 5px) {
      border-radius: @radius;
      -webkit-border-radius: @radius;
      -moz-border-radius: @radius;
      }
      #header {
      .rounded-corners;//不带參数引用,则使用默认值
      }
      #footer {
      .rounded-corners(10px);//传递參数
      }
       
      /* 生成的 CSS */
       
      #header {
      border-radius: 5px;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      }
      #footer {
      border-radius: 10px;
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      }
  4. 匹配模式:
    1. 综述:相当于if-依据你传入的不同值而找到相相应的代码来运行,最后要跟上一个带@_的模式来写匹配随意參数的,即公共的部分;
    2. eg:
      .mixin (dark, @color) {
      color: darken(@color, 10%);
      }
      .mixin (light, @color) {
      color: lighten(@color, 10%);
      }
      .mixin (@_, @color) {//通配变量@_ ,写公共的部分代码
      display: block;
      }
       
      //如今,假设执行:
      @switch: light;
       
      .class {
      .mixin(@switch, #888);
      }
      //就会得到下列CSS:
      .class {
      color: #a2a2a2;--匹配了light
      display: block;
      }
  5. 运算: 运算提供了加,减,乘,除操作;我们能够做属性值和颜色的运算,这样就能够实现属性值之间的复杂关系。
    1. 多用宽高的运算,而颜色直接取值;
    2. eg:
      // LESS
       
      @the-border: 1px;
      @base-color: #111;
      @red: #842210;
       
      #header {
      color: @base-color * 3;
      border-left: @the-border;
      border-right: @the-border * 2;
      }
      #footer {
      color: @base-color + #003300;
      border-color: desaturate(@red, 10%);
      }
      /* 生成的 CSS */
       
      #header {
      color: #333;
      border-left: 1px;
      border-right: 2px;
      }
      #footer {
      color: #114411;
      border-color: #7d2717;
      }
  6. 嵌套规则: 我们能够在一个选择器中嵌套还有一个选择器来实现继承,这样非常大程度降低了代码量,而且代码看起来更加的清晰。
    1. eg:
      // LESS
       
      #header {
      h1 {
      font-size: 26px;
      font-weight: bold;
      }
      p { font-size: 12px;
      a { text-decoration: none;
      &:hover { border-width: 1px }
      }
      }
      }
       
      /* 生成的 CSS */
       
      #header h1 {
      font-size: 26px;
      font-weight: bold;
      }
      #header p {
      font-size: 12px;
      }
      #header p a {
      text-decoration: none;
      }
      #header p a:hover {
      border-width: 1px;
      }

    2. 向写html结构嵌套一样明晰样式之间的关系;
    3. 能够方便的写hover,在a标签中:
      a{
      //&代表它的上一层选择器
      &:hover{
      color:red
      }
      }
  7. @arguments变量: @arguments包括了全部传递进来的參数. 
    1. 假设你不想单独处理每个參数的话就能够像这样写: 
      .box-shadow (@x: 0, @y: 0, @blur: 1px, @color: #000) {
      box-shadow: @arguments;
      -moz-box-shadow: @arguments;
      -webkit-box-shadow: @arguments;
      }
      .box-shadow(2px, 5px);
      将会输出:
      box-shadow: 2px 5px 1px #000;
      -moz-box-shadow: 2px 5px 1px #000;
      -webkit-box-shadow: 2px 5px 1px #000;
  8. 避免编译、!important以及总结:
    1. 避免编译:使用方法:~"输出内容";
    2. !importantkeyword:自己主动给编译后的css样式都加上!improtant;
  9. 命名空间: 有时候,你可能为了更好组织CSS或者单纯是为了更好的封装,将一些变量或者混合模块打包起来, 你能够像以下这样在#bundle中定义一些属性集之后能够反复使用:
    #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;
    }

附:less中文文档:http://www.bootcss.com/p/lesscss/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成Google开源图片处理框架,贼好用!

1、序在实际开发中,难免会对图片进行一些处理,比如图片压缩之类的,而其中压缩可能就是最为常见的。最近,我就被要求实现这个功能,原因是客户那边嫌速度过慢。借此机会,今儿就给大家介绍一些一下我做这个功能…

java 方法 示例_Java语言环境getDisplayVariant()方法与示例

java 方法 示例区域设置类getDisplayVariant()方法 (Locale Class getDisplayVariant() method) Syntax: 句法: public final String getDisplayVariant();public String getDisplayVariant(Locale lo);getDisplayVariant() method is available in java.util pack…

推荐一款开源数据库设计工具,比PowerDesigner更好用!

最近有个新项目刚过完需求,正式进入数据库表结构设计阶段,公司规定统一用数据建模工具 PowerDesigner。但我并不是太爱用这个工具,因为它的功能实在是太多了,显得很臃肿繁琐,而平时设计表用的也就那么几个功能。这里找…

cocos2d-x lua 学习笔记(1) -- 环境搭建

Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷!OK,现在就开始搭建环境吧&#xf…

rotateleft_Java Integer类rotateLeft()方法与示例

rotateleft整数类rotateLeft()方法 (Integer class rotateLeft() method) rotateLeft() method is available in java.lang package. rotationLeft()方法在java.lang包中可用。 rotateLeft() method is used to returns the value generated by rotating the binary 2s complem…

ORACLE删除当前用户下所有的表的方法

1、如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉。 删除后再创建该用户。 --创建管理员用户 create user 用户名 identified by 密码 default tablespace space_data(表空间名称…

Socket粘包问题的3种解决方案,最后一种最完美!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)在 Java 语言中,传统的 Socket 编程分为两种实现方式,这两种实现方式也对应着两种不同的传输层协议…

【万里征程——Windows App开发】控件大集合1

添加控件的方式有多种,大家更喜欢哪一种呢? 1)使用诸如 Blend for Visual Studio 或 Microsoft Visual Studio XAML 设计器的设计工具。 2)在 Visual Studio XAML 编辑器中将控件添加到 XAML 标记中。 3)在代码中添…

Java Collections BinarySearch()方法与示例

集合类binarySearch()方法 (Collections Class binarySearch() method) Syntax: 句法: public static int binarySearch(List l, Type key_ele);public static int binarySearch(List l, Type key_ele, Comparator com);binarySearch() method is available in jav…

从String中移除空白字符的多种方式!?差别竟然这么大!

字符串,是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中的空格。其实,在Java中…

[JS][jQuery]清空元素html()、innerHTML= 与 empty()的区别 、remove()区别

清空元素html("")、innerHTML"" 与 empty()的区别 一、清空元素的区别 1、错误做法一: $("#test").html("");//该做法会导致内存泄露 2、错误做法二:$("#test")[0].innerHTML"&qu…

Properties文件位置

这种情况下Properties文件放在和‘当前类’同一目录下 <span style"font-size:14px;">Properties p new Properties(); InputStream in 当前类.class.getResourceAsStream("Properties文件名"); p.load(in); </span> 这种情况下Prop…

Java类class isAnnotation()方法及示例

类的类isAnnotation()方法 (Class class isAnnotation() method) isAnnotation() method is available in java.lang package. isAnnotation()方法在java.lang包中可用。 isAnnotation() method is used to check whether this Class object represents the annotation type or…

不要再用main方法测试代码性能了,用这款JDK自带工具

前言作为软件开发人员&#xff0c;我们通常会写一些测试程序用来对比不同算法、不同工具的性能问题。而最常见的做法是写一个main方法&#xff0c;构造模拟场景进行并发测试。如果细心的朋友可能已经发现&#xff0c;每次测试结果误差很大&#xff0c;有时候测试出的结果甚至与…

读书总结:周鸿祎,我的互联网方法论

目录&#xff1a;1、欢迎来到互联网时代2、互联网用户至上3、颠覆式创新4、免费时代5、体验为王6、互联网方法论第一章&#xff1a;互联网时代1、没人能打败趋势&#xff0c;趋势会导致非线性发展。2、信息的流通变快&#xff0c;商家很难利用非对称性赚钱。3、用户的体验最重要…

Java ClassLoader getResources()方法与示例

ClassLoader类的getResources()方法 (ClassLoader Class getResources() method) getResources() method is available in java.lang package. getResources()方法在java.lang包中可用。 getResources() method is used to identify all the resources with the given resource…

Java中Properties类的操作

http://www.cnblogs.com/bakari/p/3562244.html Java中Properties类的操作 知识学而不用&#xff0c;就等于没用&#xff0c;到真正用到的时候还得重新再学。最近在看几款开源模拟器的源码&#xff0c;里面涉及到了很多关于Properties类的引用&#xff0c;由于Java已经好久没用…

复盘线上的一次OOM和性能优化!

来源&#xff1a;r6d.cn/ZazN上周五&#xff0c;发布前一周的服务器小动荡????事情回顾上周五&#xff0c;通过Grafana监控&#xff0c;线上环境突然出现CPU和内存飙升的情况&#xff1a;但是看到网络输入和输入流量都不是很高&#xff0c;所以网站被别人攻击的概率不高&am…

scanf 输入十六进制_在C语言中使用scanf()输入一个十六进制值

scanf 输入十六进制Here, we have to declare an unsigned int variable and input a value in hexadecimal format. 在这里&#xff0c;我们必须声明一个无符号的int变量&#xff0c;并以十六进制格式输入一个值。 To input a value in hexadecimal format – we use "%…

阅读源码的 4 个绝技,我必须分享给你!

为什么要阅读源码&#xff1f;1.在通用型基础技术中提高技术能力在 JAVA 领域中包含 JAVA 集合、Java并发(JUC)等&#xff0c; 它们是项目中使用的高频技术&#xff0c;在各种复杂的场景中选用合适的数据结构、线程并发模型&#xff0c;合理控制锁粒度等都能显著提高应用程序的…