<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36, comments - 419, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    最近在網上看到1個很有意思的CSS擴展,這里介紹給大家。LESS 最早是1個ruby的gem,用于擴展css的語法,用了LESS后,可以在css中使用變量,運算符,include,嵌套規則等等。現在LESS出了js版本,讓我們一起來看看LESS能為我們帶來什么吧?

     

    使用

       1. 下載js: http://lesscss.googlecode.com/ 最新版本好像是 1.0.22

       2. 使用less,css文件的后綴名需要改為.less。

       3. 在html頁面中加入下面代碼

         <!-- style.less文件就是樣式表文件,并且style.less必須放在less-1.0.22.min.js文件前加載,原理后面介紹 -->

         <link rel="stylesheet/less" href="style.less" />  

         <script src="less-1.0.22.min.js"></script>

     

    變量

       變量可以讓我們聲明1個常量值,并在以后多處地方進行重復使用。

     

       一般css寫法:

    .class1{
    color:#ccc;
    width:100px;
    }
    .class2{
    color:#ccc;
    width:120px;
    }

     

       LESS寫法:
    @color1: #ccc;
    .class1{
    color:@color1;
    width:100px;
    }
    .class2{
    color:@color1;
    width:120px;    }
    

    inlucde
        大家一定碰見過再某個規則中需要用的部分樣式跟另外1個規則樣式一樣,但沒辦法,我們只能copy過來,或者為元素指定多個class。但用了LESS后,我們不再需要這么痛苦了。
        
        一般css寫法:
    .red{
    color:red;border:1px solid red;
    }
    .class2{
    width:100px;font-size:12px;
    /*下面的樣式跟red的一樣,copy過來的,修改就要修改2處*/
    color:red;border:1px solid red;
    }
     
        LESS寫法:
    .red{
    color:red;border:1px solid red;
    }
    .class2{
    width:100px;font-size:12px;
    /*直接inlcude .red的規則*/
    .red
    }

    嵌套規則:
    一般css的寫法:
    #header{color:red;}
    #header .logo{backgroud-image:url(logo.gif);}
    #header li{display:block;} 
          LESS寫法:
    #header{
    color:red;
    .logo{
    backgroud-image:url(logo.gif);
    }
    li{
    display:block;
    }
    }

    運算符:
    LESS 寫法:
    @fontSize 12px;
    .class1{
    font-size : @fontSize + 2;
    }
    .class2{
    font-size : @fontSize * 2;
    }

    更多其它功能:
    請見LESS官方網站:http://lesscss.org/

    原理分析:
    LESS js版本的實現方式是使用ajax獲取style.less文件,然后根據該文件的規則生成最終瀏覽器能理解的css插入到html代碼中。所以就出現前面說過的<link rel="stylesheet/less" href="style.less" />必須在js前面。

    總結:
    LESS JS版本的實現原理,是每次請求都需要通過JS去動態生成原始的css,如果css比較大的話,對于客戶端的性能影響比較大,所以個人覺的less的js版本實用性不強。
    不知道LESS 的ruby版本的實現原理是怎么樣的,我認為如果真的覺得less方式可以提高css的開發效率,到是可以參考它的代碼實現一套java或net的源代碼,在程序啟動的時候一次根據.less文件生成所有的css文件,而不是每次請求都用js動態生成。


    [作者]:BearRui(AK-47)
    [博客]: http://m.tkk7.com/bearrui/
    [聲明]:本博所有文章版權歸作者所有(除特殊說明以外),轉載請注明出處.
    英雄,別走啊,幫哥評論下:  

    精彩推薦 好文要頂 水平一般 看不懂 還需努力

    評論

    # re: LESS 讓css也支持變量,運算符,include,嵌套規則等等  回復  更多評論   

    2010-07-01 16:21 by popo4j
    文章很精彩,推薦一下!

    # re: LESS 讓css也支持變量,運算符,include,嵌套規則等等  回復  更多評論   

    2010-07-01 17:15 by BearRui(AK-47)
    @popo4j
    謝謝,^_^

    # re: LESS 讓css也支持變量,運算符,include,嵌套規則等等  回復  更多評論   

    2010-07-01 18:34 by panasia
    在程序啟動的時候一次根據.less文件生成所有的css文件,而不是每次請求都用js動態生成。
    同意..
    主站蜘蛛池模板: 亚洲AV日韩精品久久久久| 中文字幕亚洲一区| 亚洲一级毛片免观看| 99ee6热久久免费精品6| 亚洲伊人久久大香线蕉苏妲己| 国产精品无码一二区免费| 亚洲精品免费在线| 成人在线免费看片| 亚洲情A成黄在线观看动漫软件| 亚洲精品无码久久| 日本黄色免费观看| 美女啪啪网站又黄又免费| 亚洲精品网站在线观看不卡无广告| 亚洲熟伦熟女新五十路熟妇| 国产免费播放一区二区| 亚洲AV无码久久精品蜜桃| a级片免费在线播放| 亚洲男人天堂2017| 毛片a级毛片免费播放下载| 亚洲精品无码一区二区| 亚洲伊人成无码综合网| 色欲国产麻豆一精品一AV一免费| 亚洲av高清在线观看一区二区 | 亚洲人成电影在线观看网| 国产免费一区二区三区| 亚洲 欧洲 日韩 综合在线| 国产成人在线免费观看| 最近国语视频在线观看免费播放| 免费a在线观看播放| 中文在线日本免费永久18近| 亚洲综合在线视频| 日本一道在线日本一道高清不卡免费| 亚洲精品美女久久久久9999| 免费看www视频| 国产在线播放线91免费| 久久亚洲国产成人精品性色| 日韩精品视频免费观看| 精选影视免费在线 | 亚洲第一成人在线| 亚洲色欲色欲www在线丝| 中文字幕av无码无卡免费|