<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    最近在網(wǎng)上看到1個很有意思的CSS擴展,這里介紹給大家。LESS 最早是1個ruby的gem,用于擴展css的語法,用了LESS后,可以在css中使用變量,運算符,include,嵌套規(guī)則等等。現(xiàn)在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
        大家一定碰見過再某個規(guī)則中需要用的部分樣式跟另外1個規(guī)則樣式一樣,但沒辦法,我們只能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的規(guī)則*/
    .red
    }

    嵌套規(guī)則:
    一般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官方網(wǎng)站:http://lesscss.org/

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

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


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

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

    評論

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

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

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

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

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

    2010-07-01 18:34 by panasia
    在程序啟動的時候一次根據(jù).less文件生成所有的css文件,而不是每次請求都用js動態(tài)生成。
    同意..
    主站蜘蛛池模板: 中文字幕免费人成乱码中国| 美女巨胸喷奶水视频www免费| 24小时在线免费视频| 久久亚洲综合色一区二区三区| 三年在线观看免费观看完整版中文| www.亚洲精品.com| 免费一级毛片在线播放视频免费观看永久 | 亚洲av午夜成人片精品网站| 中国好声音第二季免费播放| 亚洲免费观看视频| 免费在线看黄网站| 亚洲字幕在线观看| 成人毛片免费观看视频| 男人的天堂av亚洲一区2区| avtt亚洲天堂| 久久国产精品免费观看| 亚洲福利一区二区| 午夜视频免费成人| 又长又大又粗又硬3p免费视频| 国产亚洲精久久久久久无码77777| 99re6在线精品免费观看| 日韩亚洲AV无码一区二区不卡| 国产91免费视频| 国产天堂亚洲精品| 亚洲国产成人片在线观看| 国产在线jyzzjyzz免费麻豆| 亚洲国产精品网站在线播放 | 成人亚洲性情网站WWW在线观看| 国产vA免费精品高清在线观看 | 精品久久亚洲中文无码| 国产在线98福利播放视频免费| 成人免费网站视频www| 亚洲人成网www| 永久免费视频v片www| 中国一级全黄的免费观看| 亚洲理论片在线中文字幕| 国产视频精品免费| 国偷自产一区二区免费视频| 亚洲人成图片网站| 亚洲日韩中文字幕在线播放| 成年人视频在线观看免费 |