禁止使用特殊字符,禁止使用拼音,禁止使用中英文混合
!<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); });
PC端頭部示範:javascript
<!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>
移動端頭部示範:css
<!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>
不要使用HTML5已經廢棄的標籤。eg:b、 em
必須小寫
小寫單詞,多單詞使用下劃線鏈接
如:<a data-goods_num='18' href="javascript:;" ></a>標籤中屬性必須添加雙引號(非單引號),應該按照特定的順序出現以保證易讀性;屬性順序html
class
id
name
data-*
src, for, type, href, value , max-length, max, min, pattern
placeholder, title, alt
aria-*, role
required, readonly, disabled
class是爲高可複用組件設計的,因此應處在第一位;
id更加具體且應該儘可能少使用,因此將它放在第二位。
通常狀況使用外部樣式表:統一使用link標籤,少用@import(原生import有加載性能問題),sass、less、vue.js等文件使用import命令除外(由於最終前端構建工具會將引入文件編譯成一個css文件)。前端
<link rel="stylesheet" href="xxx.css">
個別狀況使用內部樣式表:頁面很是簡單且樣式很是少的單獨頁面,如:純圖片海報頁面,純文字協議頁面vue
<style> ... </style>
特殊狀況才使用行內樣式:如:js動態獲取滾動高度:html5
style="height:{{scroll_height}}px;"
禁止使用ID選擇器來定義元素樣式
禁止使用層級過深的選擇器,最多3級。
eg: ul.pro_list > li > p除非是樣式reset須要,禁止對純元素選擇器設置特定樣式,避免樣式污染
java
PC端和移動端通用reset示例git
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}
媒體查詢順序由大到小github
@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) { }
空格web
如下幾種狀況不須要空格:
屬性名後 多個規則的分隔符','前 !important '!'後 屬性值中'('後和')'前 行末不要有多餘的空格如下幾種狀況須要空格:
屬性值前 選擇器'>', '+', '~'先後 '{'前 !important '!'前 @else 先後 屬性值中的','後 註釋'/*'後和'*/'前
CSS屬性的聲明順序與性能無關,可是爲了易於閱讀統一規範 按以下順序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; }
通常狀況使用外部js:統一使用<script>標籤,少用@import(原生import有加載性能問題),vue.js等文件使用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.並且這種方式在開發過程當中會致使產生不少的冗餘代碼