html+css代碼需要注意的地方(整理)


剛進入前端這行,一直在奮斗中,小公司無人指導,只能慢慢摸索咯!

做什么事情都要有習慣!代碼也不例外。(估計很多人都忽略了吧!我也是其中一個0.0 )

寫代碼有好的習慣,可以避免許多意想不到的錯誤。很多人學習時都會忽略,直到把那些錯誤的習慣用到熟,改起來就困難了。

所以在寫代碼時你應該好好看看一些細節及規范,不需要一次就記住,通讀一遍有個印象,在實戰中遇到了就翻一翻,時間長了,就會了嘛。

現在開始整理(個人理解):

  1.代碼為什么要有好的代碼習慣?

    答案當然是方便查找錯誤,減少出錯的幾率。

  2.html+css要注意的地方有哪些?(建議)

      html部分:

        1. 頁面聲明:

            以前那么多標准,煩都煩死了,直到html5來了,我喜歡,簡單粗暴有內涵。

            <!DOCTYPE HTML>

            簡單吧,直接秒殺4.0,4.1....

        2. 把css放到<head>中,避免用@import(因為使用了import之后就相當於把另外的CSS放在了標簽的底部)——然而我還沒有用到

        3. 避免使用css表達式,css表達式只有在IE中有用,他的執行的次數隨着頁面的縮小、放大和滾動等會有出現變化。

            ps:想到了一個相關的知識,用表達式解決的。

                 問題:去掉點擊a標簽后產生的虛線框。

                 解決辦法:

                    body a{outline:none;blr:expression(this.onFocus=this.blur());}

                    兼容大部分主流瀏覽器。    詳細后面會介紹

        4. 語言屬性聲明。

            <html lang="zh-CN">

        5. html標簽使用小寫。(大寫不是不能用,但是不方便閱讀。經常遇到熟悉的單詞大寫就不認識了...)

        6. 使用utf-8編碼。

            html中: <meta charset="utf-8">

            css中: @charset "utf-8";

        7. IE兼容模式

            完美解決IE兼容模式代碼: <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">

        8. 用空格代替table制表符。(曾近在日包的學長說過,日本審核很嚴格,每行都會去看你是不是按了4下空格鍵,天朝╮(╯▽╰)╭)。

        9. 在html中已經聲明 自閉合元素(單閉合標簽)后的斜杠可以省略,既然可以省略,省略更好,省字節。(雙閉合標簽千萬別省,不然錯那都不知道了,經常會因為這些小細節,找一下午,中槍有木有?)

        10. 屬性定義最好用雙引號。(這個看着來)。

        11. html5中提到js,css文件引入不需要定義type屬性。(能省就省)。

        12. 布爾類型聲明不賦值,表單常用到。   

              如:<input type="checkbox" value="1" checked> 中的checked 

        13. 避免用javascript生成標簽(不易查找、編輯且降低性能)。

 

 

    css部分:

        一行代碼可以看出許多細節:         

                /* Bad CSS */                 .selector, .selector-secondary, .selector[type=text] {                padding:15px;                margin:0px 0px 15px;                background-color:rgba(0, 0, 0, 0.5);                box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF                 }                 /* Good CSS */                 .selector,                 .selector-secondary,                 .selector[type="text"] {                padding: 15px;                margin-bottom: 15px;                background-color: rgba(0,0,0,.5);                box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff;                 }

        上部分代碼時不建議的寫法,下部分的代碼時建議的寫法。

        1. 選擇器組合時,將單獨的選擇器單獨放一行。

        2. 聲明塊左括號前應該空一格。

        3. 聲明塊右括號應該單獨占一行。

        4. 聲明語句 :的后面空一格

        5. 多個屬性值逗號后面空一格

        6. 最后一行屬性不要忘記 ;  (這個地方我已經中過很多次了,都是在修改時(維護)容易出錯。)

        7. 零值后面的單位px和0值的起始值省略掉。 如0px=>0   , 0.5=>.5

        8.部分重復顏色值縮寫。如#ffffff=>#fff   (注意:#00ffac 、#eaeaea 不能亂縮寫成#0fac,#eae。別搞錯了).

 

    其余要注意的地方:

        9. css聲明順序

                      .declaration-order {                        /* Positioning */                       position: absolute;                       top: 0;                       right: 0;                       bottom: 0;                       left: 0;                       z-index: 100;                       /* Box-model */                       display: block;                       float: right;                       width: 100px;                       height: 100px;                       /* Typography */                       font: normal 13px "Helvetica Neue", sans-serif;                       line-height: 1.5;                       color: #333;                       text-align: center;                       /* Visual */                       background-color: #f5f5f5;                       border: 1px solid #e5e5e5;                       border-radius: 3px;                       /* Misc */                       opacity: 1;                       }

        

            ——>脫離文本流屬性優先(依次position 、float、display)

            ——>盒模型屬性(尺寸屬性)

               (width、height、margin、padding、border)

            ——>其他屬性

        10. 單行屬性規則:

            一行屬性單獨一行,多行屬性分行書寫

            如:

               .span1 { width:150px; }

               .span2 { 

                  width: 150px;

                  height: 150px;

               }

            經常檢查錯誤時會遇到多行寫到一起,報第50行出錯,多行時就會不明顯。

        11. 不要使用 “標簽+類名”、“標簽+ID” 結構,如 a.str  ......

          可以避免修改頁面元素的類型二導致樣式失效,如  我把上述a標簽改成span標簽。結果樣式失效了╮(╯▽╰)╭。

        12. 不要使用實體引用

            比如“>”盡量寫成"&gt;"  (這個==!例子忘記了,不過要小心。)

        13.盡量避免后代選擇器  也就是“>”。比較耗時 (別人說的...)

 

好了列了這么多估計都暈了.... 多看看不需要記,寫代碼留點心,時間長久練成習慣了。

還有許多細節,希望補充...一起學習一起進步

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM