初級前端也應寫出優雅的代碼-整理

来源:http://www.cnblogs.com/victory820/archive/2017/06/02/6931778.html
-Advertisement-
Play Games

一HTML 1.DOCTYPE的聲明,現在基本都是H5的天下,直接快捷鍵生成即可。 2.字元集的聲明,一般是<meta charset="UTF-8" />,記得轉義下符號類字元如空格-&nbsp; &-amp; 3.正確的縮進,現在各個全家桶里的代碼已經配置好了縮進,無太大必要直接使用即可 4.c ...


一HTML
1.DOCTYPE的聲明,現在基本都是H5的天下,直接快捷鍵生成即可。
2.字元集的聲明,一般是<meta charset="UTF-8" />,記得轉義下符號類字元如空格-&nbsp; &-amp;
3.正確的縮進,現在各個全家桶里的代碼已經配置好了縮進,無太大必要直接使用即可
4.css和js強調要使用外鏈形式,現在感覺組件化的東西,寫到每個組件里就可以,使用less等預編譯語言可以更方便的實現換膚等效果
5.正確的標簽嵌套
6.刪除不必要的標簽。例如<div><ul></ul></div>這種,從語義上,外層div可以刪除,因為div和ul都是塊級元素
7.做頁面時定好區域,整站佈局好後,如對小區域塊進行調整,直接在body或者離著近的大區域塊定義一個單獨的類(id也行),在做樣式處理
8.省略圖片、樣式、腳本以及其他媒體文件 URL 的協議部分(http:,https:)除非這兩種無法滿足。如<script src="//www.google.com/js/autotrack.js"></script>
9.使用兩個空格縮進(非必須儘量統一)實現代碼格式化
10.標簽名,屬性,屬性值儘量使用小寫
11.元素中的內容,減少不必要的空格,內容結尾的空格也不要。
12.添加適當的註釋,描述作用
13.添加TODO來標記代辦事項。如<!-- TODO: remove optional tags --><ul><li>Apples</li><li>Oranges</li></ul>
14.h5中單標簽不要閉合形式,直接寫標簽。如<br>不要寫成<br/>;<input>不要寫成<input/>
15.標簽(除單標簽)有開始就要有閉合
16.對於像圖片、視頻、canvas 動畫等多媒體元素,確保提供其他可訪問的內容。如<img src="xxx.png" alt="這裡是圖片描述">
17.引用樣式表時,type預設指定text/css,可以省略。引用腳本時,type預設指定text/javascript,可以省略
18.屬性值使用雙引號
19.發佈的代碼要壓縮

二CSS
1.reset的使用。首先明確它的作用,因為各個瀏覽器的預設屬性值有所不同需要做相容性考慮。不要使用全局reset,因為效率低。
2.屬性的順序,改變佈局的寫在前面,如display,margin,padding,position,其他寫在後面(可以按字母順序排列)
3.定義有含義的id和class名稱,簡短而明確,多單詞使用連接符
4.id儘量定義在大區塊,在區塊中在查找元素,如<div id="content">...n多內容</div>查找可以用#content .title-color{color:red}
5.使用簡寫屬性,如font-family: palatino, georgia, serif;font-size: 100%;line-height: 1.6;寫成font: 100%/1.6 palatino, georgia, serif;
6.屬性值為0時單位不要加,如padding:0 15px;
7.值在-1和1中間時,0可以省略,如font-size:.8em
8.顏色值使用十六進位,如color: #ebc而不是color: #eebbcc
9.每個樣式以分號(;)結束
10.選擇器和{}之間應該有空格,屬性名和屬性值之間應該有空格(記得code時格式化就可以)
11.屬性值用單引號,URI不要添加引號
12.分段註釋,沒必要每個樣式都註釋(除非易模糊)
13.利用好繼承,在父元素上定義樣式,子元素繼承樣式。可以繼承的屬性,如font-開頭,text-開頭,line-height
14.當表示不存在時候,儘量使用display:none而不是visibility:hidden,因為前者瀏覽器解析不占記憶體後者會在記憶體開闢空間
15.避免使用@import
16.發佈的代碼要壓縮


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [1]概述 [2]屬性 [3]方法 [4]輸入輸出流 [5]事件 ...
  • 相信碼友們對於$.fn.extexd();$.extend()以及$.fn.custom和$.custom都有一定的瞭解;我闡述一下我自己對於$.fn.custom和$.custom的理解、有理解錯誤或是有更好的建議直接噴我就好! 下麵咱們進行簡單插件的封裝; Jquery為開發插件提供了兩個方法, ...
  • 今天碰到個問題,有個報警提示的聲音,在其他瀏覽器都正常,IE11聲音不出來。後來發現,判斷當前瀏覽器的方法用的是 -1 != navigator.userAgent.indexOf("MSIE") 但是此方法對於新版的IE11已經不支持了(IE11的userAgent里是沒有MSIE標誌的) 把判斷 ...
  • <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>焦點輪播圖效果</title><style type="text/css"> *{ margin: 0; padding: 0; list-style-type: ...
  • 原文參考 玉伯 大神些的,我整理了一下。 咱們今天主題說下前端模塊化發展的歷史,主要就是針對AMD CMD 的發展,這兩個東西是一種規範,他們實際產物是 AMD是RequireJS,CMD的產物是seajs,他們的出現都是在COMMONjs基礎上發展而來的,那咱們得先說說COMMONjs。 COMM ...
  • 1、bootstrap 排版 全局樣式style.css: 1、移除body的margin聲明 2、設置body的背景色為白色 3、為排版設置了基本的字體、字型大小和行高 4、設置全局鏈接顏色,且當鏈接處於懸浮“:hover”狀態時才會顯示下劃線樣式 標題 h1-h6 HTML 中的所有標題標簽, 到 ...
  • 最近在做pc端網頁開發時用到了datatables,不得不說這個工具使用還是很方便的。(ps:大數據量時建議使用伺服器端分頁而非前端分頁) 現將相關配置使用記錄如下 配置 常用api 附加功能添加 向上滾動頁面,當datatables表頭接觸到window頂部將其固定,實現代碼如下: 1、給docu ...
  • "I'm Captain Jack Sparrow" 加勒比海盜5上映,為了表示對傑克船長的喜愛,昨天閃現了幾次模仿船長的走路姿勢(哈哈哈,簡直妖嬈)。 為了周天能去看電影,要趕緊做完手上的活兒,比如總結Promise的方法。 2 Promise基本方法簡介 Promise提供了哪些方法了?大招就是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...