zoukankan      html  css  js  c++  java
  • LESS的一点自己的理解(1)

      写前端的时间也不短了,Less也用过几次,都是现学现用,没有仔细的梳理过,今天就有条理的梳理下。参考文章是一篇不错的哦。下面会附上链接的,废话不多说,开始正题。

      首先应该说下什么是Less,Less是一种动态的样式表达式,为CSS加入程序式语言的特性。简单来说就是让CSS像JS一样等其他编程语言一样,有变量作用域,使CSS更能符合程序猿的思想。先看一个最简单的例子。

    LESS:

    @color: #008CEE; 
    
     #nav { 
      color: @color; 
     } 
     p { 
      color: @color; 
     }

    编译完成后就是
    1 #nav { 
    2   color:#008CEE
    3 ; }
    4  p { 
    5     color: #008CEE
    6 }

    这里就是简单的定义了一个变量,这个变量就代表了#008CEE这个颜色,从中我们可以看出来,LESS定义变量是用“@”这个符号,就和js中的var差不多。

    这里可能就有人问了,定义了一个变量,也没看出来有多简单,反而代码量增加了,为什么要这么做呢,如果你有这样的疑问,那说明你在前端的时间还不是很长啊,如果定义的是我们的主题色,那在接下来的CSS代码中可定是不会只用一两次的,当你们的UI或者产品想换一种颜色的时候,呵呵哒。你可以用编辑器全部替换,但是定义一个颜色不是更好吗?

      2.既然LESS有了变量的定义,那就不能不提到作用域的问题请看一下代码

    @color: red;
    #homeDiv {
        @color : #008CEE;
        #centerDiv {
            color: @color; // 此处应该取最近定义的变量 color 的值 #008CEE 
        }
    }
    
    #leftDiv {
        color: @color; // 此处应该取最上面定义的变量 color 的值 red
    }

    在这里就非常明白的看出来了作用域的概念了,就是最简单的懒查找,先找自己这一层级,没有就找上一层级,如果还没有继续往上找。

      3.LESS中不仅能简单的定义一个变量,也可以把写好的CSS封装成一个整体,然后在其他的地方调用。

     1 .rounded-corners (@radius: 5px) {//这里用“.”定义这个整体的,在 LESS 中,混入是指在一个 CLASS 中引入另外一个已经定义的 CLASS,就像在当前 CLASS 中增加一个属性一样。
     2   border-radius: @radius;
     3   -webkit-border-radius: @radius;
     4   -moz-border-radius: @radius;
     5 }
     6 #header {
     7   .rounded-corners;
     8 }
     9 #footer {
    10   .rounded-corners(10px);
    11 }

    ()中间可以认为是形参,如果不传值那就默认的是原来的数值。编译完成后的CSS文件是:

     1 #header {
     2   border-radius: 5px;
     3   -webkit-border-radius: 5px;
     4   -moz-border-radius: 5px;
     5 }
     6 #footer {
     7   border-radius: 10px;
     8   -webkit-border-radius: 10px;
     9   -moz-border-radius: 10px;
    10 }

    这种方法的使用也有人称为Mixins(混入),就跟咱们自己定义的函数一样,在哪里调用都可以。后面还有一些内容,等下次再发

  • 相关阅读:
    JavaScript事件基础知识总结【思维导图】
    浮动广告 相关源码
    网页设计中常用的Web安全字体
    WEB 字体
    js文件被浏览器缓存的思考
    HTML5 LocalStorage
    CXF 中自定义SOAPHeader
    CXF拦截器(Interceptor)LoggingInInterceptor
    WebService注解汇总
    spring websocket 和socketjs实现单聊群聊,广播的消息推送详解
  • 原文地址:https://www.cnblogs.com/daniao11417/p/6514796.html
Copyright © 2011-2022 走看看