日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

編寫完美CSS代碼五個必要條件

 kulwe 2011-02-11
  • 編寫完美CSS代碼五個必要條件

    這里向大家描述一下編寫完美CSS代碼五個必要條件,主要包括關于CSS重置,CSS屬性的排序,CSS樣式的組織,保持一致性等內容,相信通過本文的學習你對如何編寫CSS代碼會有深刻的認識。

    寫出完美CSS代碼的5個重要方面

    每個人都可以編寫CSS代碼,甚至你現在已經讓它為你的項目工作了。我們在51cto.com中也一直與大家討論,學習CSS編碼與CSS技巧。但是CSS還可以更好嗎?開始用這5個Tips改進你的CSS吧!

    一、關于CSS重置

    首先,很認真的告訴你,總是要重置某些分類。無論你是使用EricMeyerReset、YUIReset或者你自己編寫的重置代碼,只要使用就對了。

    它能很簡單的移除所有元素的填充(padding)和邊距(margin):

    ExampleSourceCode

        
    1. html,body,div,h1,h2,h3,h4,h5,  
    2. h6,ul,ol,dl,li,dt,dd,p,blockquote,  
    3. pre,form,fieldset,table,th,td{margin:0;padding:0;} 

    EricMeyerReset和YUIReset都是非常強大的,但是對于我而言,它們走的太遠了。我覺得你最終需要重置一切,然后重新定義所有元素的屬性。這就是為什么EricMeyer推薦更有效的使用(重置樣式表),而你不要只是使用他的重置樣式表,將它拖放到你的項目中。調整它(的重置樣式表),建立屬于自己的重置樣式表。

    請停止使用:

    ExampleSourceCode

        
    1. *{margin:0;padding:0;}  
    2.  

    花更多的時間去制作它,當你移除了填充(padding)你認為單選按鈕會發(fā)生什么變化?表單元素有時能夠做些時髦的事情,所以最有效的方式就是將他們獨立。

    二、CSS屬性的排序

    一個小的測試,這個例子就是要讓你思考如何更快的找到右邊距屬性?

    ExampleSourceCode

        
    1. Example#1  
    2. div#headerh1{  
    3. z-index:101;  
    4. color:#000;  
    5. position:relative;  
    6. line-height:24px;  
    7. margin-right:48px;  
    8. border-bottom:1pxsolid#dedede;  
    9. font-size:18px;  
    10. }  
    11.  
    12. Example#2  
    13. div#headerh1{  
    14. border-bottom:1pxsolid#dedede;  
    15. color:#000;  
    16. font-size:18px;  
    17. line-height:24px;  
    18. margin-right:48px;  
    19. position:relative;  
    20. z-index:101;  
    21. }  
    22.  

    你不能告訴我Example#2不能更快的找到右邊距屬性。根據字母排序你的元素屬性。一致的創(chuàng)建你的CSS,將幫助你節(jié)省花費在尋找一個特殊屬性的時間。

    我知道一些人用這樣的方法去組織代碼,其他人又用另一種方法去組織,但是在我的公司,我們協(xié)商一致做出決定,所有的代碼都將按照字母排序來組織。通過這樣組織代碼與其他人協(xié)同工作一定是有幫助的。當我碰到屬性沒有按照字母排序的層疊樣式表我每一次都會退縮。

    三、CSS樣式的組織

    你應該組織你的樣式表以致相關的內容靠在一起,更簡單的找到想要的。使用更有效的注解。舉個例子,這是我如何構造我的層疊樣式表:

    ExampleSourceCode

        
    1. /*****Reset*****/  
    2. 移除元素的填充(padding)和邊距(margin)。  
    3. /*****BasicElements*****/  
    4. 定義基本元素的樣式:body,h1-h6,ul,ol,a,p,等.  
    5. /*****GenericClasses*****/  
    6. 定義簡單的風格,好像浮動的某一側,移除元素的下邊距,  
    7. 等當然,它們大部分都與我們希望的語義不相關,但是它們是高效處理代碼所必須的。  
    8. /*****BasicLayout*****/  
    9. 定義基本的模板:header,footer等.幫助定義網頁布局的基本元素  
    10. /*****Header*****/  
    11. 定義所有Hearder元素  
    12. /*****Content*****/  
    13. 定義所有內容框內的元素  
    14. /*****Footer*****/  
    15. 定義所有Footer的元素  
    16. /*****Etc*****/  

    定義其他的選擇器。通過注解和歸類相似元素的分組,將更快的找到你想要的。

    四、保持一致性

    無論你決定使用什么方式去編寫代碼,保持一致。我已經對全部放在1行VS多行的CSS編寫編寫方式的爭論感到乏味和疲倦。這是不需要爭辯的。每個人都有自己的觀點,所以選擇一種你喜歡的工作方式,并在所有的樣式表中保持一致。

    就我個人而言,我將使用兩者結合的方式。如果一個選擇器超過了3個屬性,我將截斷它采用多行的方式編寫。

    ExampleSourceCode 

        
    1. div#header{float:left;width:100%;}  
    2. div#headerdiv.column{  
    3. border-right:1pxsolid#ccc;  
    4. float:rightright;  
    5. margin-right:50px;  
    6. padding:10px;  
    7. width:300px;  
    8. }  
    9. div#headerh1{float:left;position:relative;width:250px;}  

    所以找到你喜歡的工作方式然后保持一致。

    五、從正確的地方開始

    在完成標記語言之前不要去嘗試靠近你的樣式表。

    當我準備分割一張網頁的時候,創(chuàng)建CSS文件之前,我需要預覽并且標記body開標簽到body的閉合標簽之間的所有文檔。我不會增加額外的DIV,ID,或者類選擇器。我將會添加一些一般的DIV,就好像hearder、content、footer.因為我知道這些東西是現實存在的。利用CSS子選擇器指定子元素;不要只是機械的給元素添加類或者ID選擇器。記?。簺]有一個良好的格式化文檔(或者標記結構)CSS是無價值的。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多