<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【總結】高效整潔CSS代碼原則

        CSS學起來并不難,但在大型項目中,就變得難以管理,特別是不同的人在CSS書寫風格上稍有不同,團隊上就更加難以溝通,為此總結了一些如何實現高效整潔的CSS代碼原則:

       

      1. 使用Reset但并非全局Reset

        不同瀏覽器元素的默認屬性有所不同,使用Reset可重置瀏覽器元素的一些默認屬性,以達到瀏覽器的兼容。但需要注意的是,請不要使用全局Reset:

      *{ margin:0; padding:0; }

        這不僅僅因為它是緩慢和低效率的方法,而且還會導致一些不必要的元素也重置了外邊距和內邊距。在此建議參考YUI ResetEric Meyer的做法。我跟Eric Meyer的觀點相同,Reset并不是一成不變的,具體還需要根據項目的不同需求做適當的修改,以達到瀏覽器的兼容和操作上的便利性。我使用的Reset如下:

       

      /** 清除內外邊距 **/
      body, h1, h2, h3, h4, h5, h6, hr, p,
      blockquote, /* structural elements 結構元素 */
      dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
      pre, /* text formatting elements 文本格式元素 */
      form, fieldset, legend, button, input, textarea, /* form elements 表單元素 */
      th, td, /* table elements 表格元素 */
      img/* img elements 圖片元素 */{
        border:medium none;
        margin: 0;
        padding: 0;
      }
      /** 設置默認字體 **/
      body,button, input, select, textarea {
        font: 12px/1.5 '宋體',tahoma, Srial, helvetica, sans-serif;
      }
      h1, h2, h3, h4, h5, h6 { font-size: 100%; }
      em{font-style:normal;}
      /** 重置列表元素 **/
      ul, ol { list-style: none; }
      /** 重置超鏈接元素 **/
      a { text-decoration: none; color:#333;}
      a:hover { text-decoration: underline; color:#F40; }
      /** 重置圖片元素 **/
      img{ border:0px;}
      /** 重置表格元素 **/
      table { border-collapse: collapse; border-spacing: 0; }
      

       

      2. 良好的命名習慣

        無疑亂七八糟或者無語義命名的代碼,誰看了都會抓狂。就像這樣的代碼:

      .aaabb{margin:2px;color:red;}
      

        我想即使是初學者,也不至于會在實際項目中如此命名一個class,但有沒有想過這樣的代碼同樣是很有問題的:

      <h1>My name is <span class="red blod">Wiky</span></h1>
      

        問題在于如果你需要把所有原本紅色的字體改成藍色,那修改后就樣式就會變成:

      .red{color:bule;}
      

        這樣的命名就會很讓人費解,同樣的命名為.leftBar的側邊欄如果需要修改成右側邊欄也會很麻煩。所以,請不要使用元素的特性(顏色,位置,大小等)來命名一個class或id,您可以選擇意義的命名如:#navigation{...},.sidebar{...},.postwrap{...}

        這樣,無論你如何修改定義這些class或id的樣式,都不影響它跟HTML元素間的聯系。

        另外還有一種情況,一些固定的樣式,定義后就不會修改的了,那你命名時就不用擔憂剛剛說的那種情況,如

      .alignleft{float:left;margin-right:20px;}
      .alignright{float:right;text-align:right;margin-left:20px;}
      .clear{clear:both;text-indent:-9999px;}
      

        那么對于這樣一個段落

      <p class="alignleft">我是一個段落!</p>
      

        如果需要把這個段落由原先的左對齊修改為右對齊,那么只需要修改它的className就為alignright就可以了。

       

      3. 代碼縮寫

        CSS代碼縮寫可以提高你寫代碼的速度,精簡你的代碼量。在CSS里面有不少可以縮寫的屬性,包括margin,padding,border,font,background和顏色值等,如果您學會了代碼縮寫,原本這樣的代碼:

       

      li{
          font-family:Arial, Helvetica, sans-serif;
          font-size: 1.2em;
          line-height: 1.4em;
          padding-top:5px;
          padding-bottom:10px;
          padding-left:5px;
      }
      

       

      就可以縮寫為:

      li{
          font: 1.2em/1.4em Arial, Helvetica, sans-serif;
          padding:5px 0 10px 5px;
      }
      

        如果您想更了解這些屬性要怎么縮寫,可以參考《常用CSS縮寫語法總結》或者下載CSS-Shorthand-Cheat-Sheet.pdf

       

      4. 利用CSS繼承

        如果頁面中父元素的多個子元素使用相同的樣式,那最好把他們相同的樣式定義在其父元素上,讓它們繼承這些CSS樣式。這樣你可以很好的維護你的代碼,并且還可以減少代碼量。那么本來這樣的代碼:

      #container li{ font-family:Georgia, serif; }
      #container p{ font-family:Georgia, serif; }
      #container h1{font-family:Georgia, serif; }
      

      就可以簡寫成:

      #container{ font-family:Georgia, serif; }
      

       

      5. 使用多重選擇器

        你可以合并多個CSS選擇器為一個,如果他們有共同的樣式的話。這樣做不但代碼簡潔且可為你節省時間和空間。如:

      h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
      h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
      h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
      

      可以合并為

      h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
      

       

      6. 適當的代碼注釋

      代碼注釋可以讓別人更容易讀懂你的代碼,且合理的組織代碼注釋,可使得結構更加清晰。你可以選擇做的樣式表的開始添加目錄:

      /*------------------------------------
          1. Reset
          2. Header
          3. Content
          4. SideBar
          5. Footer
        ----------------------------------- */
      

        如此你代碼的結構就一目了然,你可以容易的查找和修改代碼。

        而對于代碼的主內容,也應適當的加以劃分,甚至在有必要的地方在對代碼加以注釋說明,這樣也有利于團隊開發:

      /***	Header	***/ 
      #header{ height:145px; position:relative; }
      #header h1{ width:324px; margin:45px 0 0 20px; float:left;  height:72px;}
      
      /***	Content	***/
      #content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}
      #content h1{color:#F00}/* 設置字體顏色 */
      #content .posts{ overflow:hidden; }
      #content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }
      
      /***	Footer	***/
      #footer{ clear:both; padding:50px 5px 0; overflow:hidden;}
      #footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }
      

       

      7. 給你的CSS代碼排序

      如果代碼中的屬性都能按照字母排序,那查找修改的時候就能更加快速:

      /*** 樣式屬性按字母排序 ***/
      div{
          background-color:#3399cc;
          color:#666;
          font:1.2em/1.4em Arial, Helvetica, sans-serif;
          height:300px;
          margin:10px 5px;
          padding:5px 0 10px 5px;
          width:30%;
          z-index:10;
      }
      

       

      8. 保持CSS的可讀性

        書寫可讀的CSS將會使得更容易查找和修改樣式。對于以下兩種情況,哪種可讀性更高,我想不言而明。

      /*** 每個樣式屬性寫一行 ***/
      div{
          background-color:#3399cc;
          color:#666;
          font: 1.2em/1.4em Arial, Helvetica, sans-serif;
          height:300px;
          margin:10px 5px;
          padding:5px 0 10px 5px;
          width:30%;
          z-index:10;
      }
      
      /*** 所有的樣式屬性寫在同一行 ***/
      div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif;  height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }

      當對于一些樣式屬性較少的選擇器,我會寫到一行:

       

      /*** 選擇器屬性少的寫在同一行 ***/
      div{ background-color:#3399cc; color:#666;}
      

       

      對于這個規則并非硬性規定,但無論您采用哪種寫法,我的建議是始終保持代碼一致。屬性多的分行寫,屬性少于3個可以寫一行。

       

      9. 選擇更優的樣式屬性值

        CSS中有些屬性采用不同的屬性值,雖然達到的效果差不多,當性能上卻存在著差異,如

        區別在于border:0把border設為0px,雖然在頁面上看不見,但按border默認值理解,瀏覽器依然對border-width/border-color進行了渲染,即已經占用了內存值。
        而border:none把border設為“none”即沒有,瀏覽器解析“none”時將不作出渲染動作,即不會消耗內存值。所以建議使用border:none;

        同樣的,display:none隱藏對象瀏覽器不作渲染,不占用內存。而visibility:hidden則會。

       

      10. 使用<link>代替@import

      首先,@import不屬于XHTML標簽,也不是Web標準的一部分,它對于較早期的瀏覽器兼容也不高,并且對于網站的性能有某些負面的影響。具體可以參考《高性能網站設計:不要使用@import》。所以,請避免使用@import

       

      11. 使用外部樣式表

        這個原則始終是一個很好的設計實踐。不單可以更易于維護修改,更重要的是使用外部文件可以提高頁面速度,因為CSS文件都能在瀏覽器中產生緩存。內置在HTML文檔中的CSS則會在每次請求中隨HTML文檔重新下載。所以,在實際應用中,沒有必要把CSS代碼內置在HTML文檔中:

      <style type="text/css" >
          #container{ .. }
          #sidebar{ .. }
      </style>
      
      或
      
      <li style="font-family:Arial, helvetica, sans-serif; color:#666; " >

      而是使用<link>導入外部樣式表:

      <link rel="stylesheet" type="text/css" href="css/styles.css" />
      

       

      12. 避免使用CSS表達式(Expression)

        CSS表達式是動態設置CSS屬性的強大(但危險)方法。Internet Explorer從第5個版本開始支持CSS表達式。下面的例子中,使用CSS表達式可以實現隔一個小時切換一次背景顏色:

      background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );
      

        如上所示,expression中使用了JavaScript表達式。CSS屬性根據JavaScript表達式的計算結果來設置。

        表達式的問題就在于它的計算頻率要比我們想象的多。不僅僅是在頁面顯示和縮放時,就是在頁面滾動、乃至移動鼠標時都會要重新計算一次。給CSS表達式增加一個計數器可以跟蹤表達式的計算頻率。在頁面中隨便移動鼠標都可以輕松達到10000次以上的計算量。

        如果必須使用CSS表達式,一定要記住它們要計算成千上萬次并且可能會對你頁面的性能產生影響。所以,在非不得已,請避免使用CSS表達式。

       

      13. 代碼壓縮

        當你決定把網站項目部署到網絡上,那你就要考慮對CSS進行壓縮,出去注釋和空格,以使得網頁加載得更快。壓縮您的代碼,可以采用一些工具,如YUI Compressor

      利用它可精簡CSS代碼,減少文件大小,以獲得更高的加載速度。

       

      14. 總結

        在本文中,我力圖更詳盡的總結書寫更高效的CSS代碼的原則,但鑒于本人見識和精力有限,我還是希望這些原則能幫助您更好的書寫和管理您的CSS代碼,不知您又是如何書寫CSS的,是否也有一些想要分享的技巧?給我留言吧謝謝~

      本文地址:http://www.rzrgm.cn/wiky/articles/better-css-code.html

      PS:本文由維奇總結,如有轉載請注明出處,謝謝!

       

      參考資料:

      WRITE BETTER CSS WITH BEST PRACTICES

      10 Tips for Writing Better CSS

      5 Ways to Instantly Write Better CSS

      posted @ 2010-04-17 14:37  漫凱維奇  閱讀(11106)  評論(24)    收藏  舉報
      主站蜘蛛池模板: 国产高清精品在线91| 日本一区二区精品色超碰| 亚洲www永久成人网站| 国产一区二区三区四区激情| 久久精品国产福利亚洲av| 国产在视频线在精品视频2020| 最新国产精品中文字幕| 风流老熟女一区二区三区| 国产日韩精品中文字幕| 国产精久久一区二区三区| 亚洲の无码国产の无码步美| 无人区码一码二码三码区| 亚洲国产成人无码av在线影院| 日韩V欧美V中文在线| 国产精品日韩av一区二区| 精品国产粉嫩一区二区三区| 国产区成人精品视频| 成人免费A级毛片无码网站入口| 九九热精品在线视频观看| 欧美成人www免费全部网站| 国产精品男女爽免费视频| 国产成人午夜福利精品| 欧美黑人又粗又大久久久| 国产精品午夜福利免费看| 日韩av日韩av在线| 天堂在/线中文在线资源 官网| 国产一区二区三区十八禁| 成人免费A级毛片无码片2022| 国产精品视频一区二区噜| 免费无码又爽又刺激网站| 裸体美女无遮挡免费网站| 国产第一页浮力影院入口 | 东京热人妻丝袜无码AV一二三区观| 欧美人与动牲交A免费观看| 欧美裸体xxxx极品| 波多结野衣一区二区三区| 秋霞电影网| 神马久久亚洲一区 二区| 国产中文字幕一区二区| 777天堂麻豆爱综合视频| 激情综合网激情五月我去也|