日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 前端技术 > HTML >内容正文

        HTML

        Web前端开发标准规范

        發布時間:2025/4/16 HTML 64 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 Web前端开发标准规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

        web前端開發規范的意義

        • 提高團隊的協作能力
        • 提高代碼的復用利用率
        • 可以寫出質量更高,效率更好的代碼
        • 為后期維護提供更好的支持

        一、命名規則

      1. 命名使用英文語義化,禁止使用特殊字符,禁止使用拼音,禁止使用中英文混合!
      2. 項目、目錄、html/css/js等文件命名全部采用小寫方式, 以下劃線分隔。eg:my_project_name
      3. html/css/js文件名一一對應參考微信小程序.eg: login.html、login.css、login.js
      4. class、圖片、視頻、音頻采用小寫方式,以下劃線或中劃線分隔;eg:btn-play或btn_play
      5. id可采用駝峰命名;eg:play或playGame
      6. 變量名采用小寫方式, 以下劃線分隔;應為名詞,eg: product,product_detail
      7. 常量采用全大寫方式, 以下劃線分隔;eg:MAX_COUNT
      8. 函數名采用駝峰命名,以動詞開始。 getName(), 返回類型是布爾類型,一般以is開頭,eg: isEnable();
      9. 變量和函數命名,不要擔心長度,一定要語義化合乎邏輯。eg: saveImageToPhotosAlbum()
      10. 變量和函數名不能以數字開始,不能使用保留字;jQuery對象以'$'符號開頭,私有變量以'_'開頭。
      11. 二、注釋

        • 頁面頭部需要添加制作時間等信息。
        <head> <title>頁面名稱</title><!-- 月影 2019-02-19 --> </head>
        • 功能模塊,請在模塊之間加入注釋,中英文不做要求:
        ... <!-- 活動規則 開始 --> <div class="rules-wrapper"><div class="rules-title">活動規則</div><div class="rules-list"><div class="rules-item" v-for='item,index in rules_list'><div class="rules-num">{{index+1}}</div><div class="rules-text">{{item}}</div></div></div> </div> <!-- 活動規則 結束 -->... /* rules start*/ .rules-wrapper{...} .rules-title{...} .rules-list{...} .rules-item{...} .rules-num{...} .rules-text{...} /* rules end*/
        • 自定義函數。請注明函數的調用方式,包括函數的用途、參數類型等。
        /** * JQ公告滾動 封裝函數 * 參數說明 * @obj : 動畫的節點,本例中是ul * @top : 動畫的高度,本例中是-35px;注意向上滾動是負數 * @time : 動畫的速度,即完成動畫所用時間,本例中是500毫秒,即marginTop從0到-35px耗時500毫秒 * function : 回調函數,每次動畫完成,marginTop歸零,并把此時第一條信息添加到列表最后; * */ function noticeUp(obj,top,time) {$(obj).animate({marginTop: top}, time, function () {$(this).css({marginTop: "0"}).find(":first").appendTo(this);}) } $(function () {// 調用 公告滾動函數setInterval("noticeUp('.notice ul','-35px',500)", 2000);});

        三、HTML規范

        1、頁面頭部

      12. 文檔類型統一使用html5的doctype:
      13. lang屬性統一使用en,特殊場景特殊處理
      14. 字符編碼統一指定為'UTF-8'
      15. 頁面標題(Title): 頁面名稱-產品中文全稱-官方網站-騰訊游戲-產品slogan,28個漢字以內
      16. 頁面關鍵字(Keywords): Keywords為產品名、專題名、專題相關名詞,之間用英文半角逗號隔開
      17. 頁面描述(Description) :不超過150個字符,描述內容要和頁面內容相關。
      18. IE兼容模式 <meta http-equiv="X-UA-Compatible" content="IE=Edge">
      19. 移動端禁止縮放
      20. PC端頭部示范:

        <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><!-- 月影 2019-02-19 --><title>抓金角銀角大王每周末放送裝備 - 地下城與勇士官方網站 - 騰訊游戲</title><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="keywords"content="英雄聯盟,lol,lol新手禮包,lol攻略,lol視頻,lol視頻攻略,英雄資料,英雄聯盟戰爭學院,明星解說視頻,101戰爭學院,英雄,攻略,WCG,點亮圖標,賽事"/><meta name="description"content="英雄聯盟官方網站,海量風格各異的英雄,豐富、便捷的物品合成系統,游戲內置的匹配、排行和競技系統,獨創的“召喚師”系統及技能、符文、天賦等系統組合,必將帶你進入一個嶄新而又豐富多彩的游戲世界。"/> </head> <body> </body> </html>

        移動端頭部示范:

        <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><!-- 月影 2019-02-19 --><title>頁面名稱-產品中文全稱-官方網站-騰訊游戲-產品slogan</title><!-- 禁止縮放 --><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><!-- 為了防止頁面數字被識別為電話號碼,可根據實際需要添加: --><meta name="format-detection" content="telephone=no"><!-- 讓添加到主屏幕的網頁再次打開時全屏展示,可添加: 刪除默認的蘋果工具欄和菜單欄 --><meta content="yes" name="mobile-web-app-capable"><meta content="yes" name="apple-mobile-web-app-capable"><meta name="Description" content="頁面的描述內容"/><meta name="Keywords" content="頁面關鍵字"/><!-- External CSS --><link rel="stylesheet" href="demo.css"><!-- In-document CSS --><style></style> </head> <body><!-- External JS --> <script src="demo.js"></script><!-- In-document JS --> <script></script> </body> </html>

        2、HTML標簽

      21. 標簽必須合法且閉合、嵌套正確,標簽名需小寫,不要使用HTML5已經廢棄的標簽。eg:b、 em
      22. 自定義標簽需要符合語義化,必須小寫
      23. 標簽的自定義屬性以data-開頭,后面跟小寫單詞,多單詞使用下劃線連接如:<a data-goods_num='18' href="javascript:;" ></a>
      24. 縮進使用Tab鍵不要使用空格鍵,webstorm中使用快捷鍵command+option+L(Ctrl+Alt+L)對齊
      25. 引入CSS 和 JavaScript 文件時一般不需要指定 type 屬性,因為 text/css 和 text/javascript 分別是它們的默認值。css放在上面head中,JavaScript放在body下面緊臨</body>
      26. 標簽中屬性必須添加雙引號(非單引號),應該按照特定的順序出現以保證易讀性;屬性順序

        class
        id
        name
        data-*
        src, for, type, href, value , max-length, max, min, pattern
        placeholder, title, alt
        aria-*, role
        required, readonly, disabled
        class是為高可復用組件設計的,所以應處在第一位;
        id更加具體且應該盡量少使用,所以將它放在第二位。
      27. boolean屬性指不需要聲明取值的屬性,XHTML需要每個屬性聲明取值,但是HTML5并不需要;boolean屬性的存在表示取值為true,不存在則表示取值為false。
      28. 在編寫HTML代碼時,需要盡量避免多余的父節點;很多時候,需要通過迭代和重構來使HTML變得更少。刪除無意義的空標簽,不要用標簽名來設置樣式
      29. 三、CSS規范

        1、CSS引入方式

        • 一般情況使用外部樣式表:統一使用link標簽,少用@import(原生import有加載性能問題),sass、less、vue.js等文件使用import命令除外(因為最終前端構建工具會將引入文件編譯成一個css文件)。

          <link rel="stylesheet" href="xxx.css">
        • 個別情況使用內部樣式表:頁面非常簡單且樣式非常少的單獨頁面,如:純圖片海報頁面,純文字協議頁面

          <style> ... </style>
        • 特殊情況才使用行內樣式:如:js動態獲取滾動高度:

          style="height:{{scroll_height}}px;"

        2、CSS代碼風格

        • css頭部統一加上@charset聲明,如下: @charset "utf-8";
        • 禁止使用ID選擇器來定義元素樣式
        • 禁止使用層級過深的選擇器,最多3級。eg: ul.pro_list > li > p
        • 除非是樣式reset需要,禁止對純元素選擇器設置特定樣式,避免樣式污染

          PC端和移動端通用reset示例

          body,html{width:100%;min-height:100%;/*移動端*/-webkit-user-select:none;user-select:none/* 禁止選中文本(如無文本選中需求,此為必選項) */} body{background-color:#fff;color:#333;font-size:16px;font-family:PingFangSC-Regular} a,body,button,dd,div,dl,dt,h1,h2,h3,h4,h5,h6,img,input,li,ol,p,select,table,td,textarea,th,tr,ul{box-sizing:border-box;margin:0;padding:0;border:0} button,input,select,textarea{outline:0;font-size:100%} h1,h2,h3,h4,h5,h6{font-size:100%} li,ol,ul{list-style:none} a{cursor:pointer} a,a:hover{text-decoration:none} ::-webkit-input-placeholder{color:#B0B0B0} :-moz-placeholder{color:#B0B0B0} ::-moz-placeholder{color:#B0B0B0} :-ms-input-placeholder{color:#B0B0B0}
        • 媒體查詢順序由大到小

          @media only screen and (max-width: 1080px), only screen and (max-device-width:1080px) {} @media only screen and (max-width: 960px), only screen and (max-device-width:960px) { }
        • 縮進 使用soft tab(4個空格)
        • 分號 每個屬性聲明末尾都要加分號。
        • 引號 最外層統一使用雙引號;url的內容要用引號;屬性選擇器中的屬性值需要引號。
        • 空格

          以下幾種情況不需要空格:

          屬性名后 多個規則的分隔符','前 !important '!'后 屬性值中'('后和')'前 行末不要有多余的空格

          以下幾種情況需要空格:

          屬性值前 選擇器'>', '+', '~'前后 '{'前 !important '!'前 @else 前后 屬性值中的','后 注釋'/*'后和'*/'前
        • CSS屬性的聲明順序與性能無關,但是為了易于閱讀統一規范 按如下順序

          .declaration-order {/* 定位 */position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 100;float: right;/* 盒模型 */display: block;width: 100px;height: 100px;/* 外觀 */border: 1px solid #e5e5e5;border-radius: 3px;background-color: #f5f5f5;/* 排版 */color: #333;text-align: center;font: normal 13px "Helvetica Neue", sans-serif;line-height: 1.5;/*透明度*/opacity: 1; }
        • 采用flex布局
        • 項目上線前先添加兼容性前綴 Autoprefixer,然后壓縮代碼

        2、CSS框架

        • 阿里圖標庫
        • css3 動畫庫
        • Sass和Compass

        四、Javascript規范

        1、Javascript引入方式

        • 一般情況使用外部js:統一使用<script>標簽,少用@import(原生import有加載性能問題), 使用webpack等打包工具的項目使用import命令除外。js在body底部緊貼</body>引用,先引框架js的再引工具類js然后私有js的最后寫內部的js。如下

          <script src="./plugins/layui/layui.js"></script><script src="./plugins/vue/vue.min.js"></script><script src="./plugins/js/util.js"></script><script src="./js/index.js"></script><script> ... </script> 優點:
          1.頁面代碼跟js代碼實現有效分離,降低耦合度
          2.便于代碼的維護和擴展
          3.有利于代碼的復用
        • 內部js: 在直接在頁面的<script></script>標簽內寫js代碼,vue項目多用此方式

          <script>layui.use('console', layui.factory('console')); </script> 優點:內部js代碼較為集中,與頁面結構的實現代碼耦合度較低,比較便于維護
          缺點:js代碼僅限于當前頁面的使用,代碼無法被多個頁面重復使用,導致代碼冗余度較高
        • 行內js: 直接嵌套在html的語句

          <input type="button" onclick="alert('行內引入')" value="button" name="button"> 開發中不推薦這種方式
          1.因為這種方式跟頁面結構代碼耦合性太強了,后期維護很不方便,
          2.而且這種方式在開發過程中會導致產生很多的冗余代碼

        2、Javascript代碼編寫

        • 目前只在使用了webpack等打包工具的時候才能用ES6語法,所以一般項目還是采用ES5。
        • 一條語句通常以分號作為結束符。
        • 變量必須先聲明再使用,即在每個作用域開始前聲明這些變量。
        • 函數聲明使用表達式方式

          // badconst fn= function () {}; // goodfunction fn() {}
        • 除了三目運算,if,else等禁止簡寫

          console.log(name);// 不推薦的書寫if (true)alert(name);console.log(name);// 不推薦的書寫if (true)alert(name);console.log(name)// 正確的書寫if (true) {alert(name);}

          使用三元運算符,但不要濫用

          (type==1?(agagin==1?'再售':'已售'):'未售')// 再多就不要用三元運算符!

        3、Javascript框架以及插件

        • 必須掌握jQuery和Vue;
        • 工作中jQuery一般用在維護老項目,新項目一般都采用Vue。其他框架稍作了解,遇到了去查文檔。(業余時間可以自學angular和React以及你喜歡的框架)
        • 移動端:Mint UI
        • PC端官網、商城: Element
        • PC端后臺管理系統:layui或者 iView
        • 輪播圖:swiper
        • 滾動插件:iScroll 或 better-scroll
        • 響應式官網: 盡量使用媒體查詢自定義樣式,不推薦使用bootstrap(因為我不喜歡記那一堆類名^_^)。
        • 將常用的功能封裝在util.js中,大家共同完善;方便以后使用。

        參考
        Code Guide by @AlloyTeam
        頁面前端規范

        《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

        總結

        以上是生活随笔為你收集整理的Web前端开发标准规范的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。