最全前端面試總結來襲!抓緊收藏了!

2020-12-14 尚學堂前端學院

1.盒子模型

一個盒子中主要的屬性就5個:width、height、padding(內邊距)、border、margin(外邊距)。

盒模型有標準盒模型和IE的盒模型,

IE盒模型:

不同之處就是標準盒模型的內容大小就是content的大小,而IE的則是content + padding +border 總的大小。

那麼隨之而來第二個問題–怎麼設置這兩種模型呢?

很簡單,通過設置 box-sizing:content-box(W3C)/border-box(IE)就可以達到自由切換的效果。

2.js有幾種數據類型?null與undefined的區別?

JS有7種數據類型:三種基本類型(數字,字符串,布爾),兩種引用數據類型(對象,數組),兩種特殊數據類型(undefined,null)

其中上面的四種(undefined, number, string, boolean)屬於簡單的值類型,不是對象。

剩下的幾種情況——函數、數組、對象、null、new Number(10)都是對象。他們都是引用類型。

值類型的類型判斷用typeof,引用類型的類型判斷用instanceof。

null與undefined的區別

undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義,undefined類型只有一個值,undefined.

(1)所有已聲明但是沒有初始化的變量,默認值都為undefined。

(2)函數沒有明確返回值的時候,會默認返回undefined。

null為一個空指針對象null表示"沒有對象",即該處不應該有值

當函數返回的對象不存在時,返回null。

當某個對象不需要時,可將值設為null。

3.js閉包

閉包是指有權訪問另一個函數作用域變量的函數。

清晰的講:閉包就是一個函數,這個函數能夠訪問其他函數的作用域中的變量。

創建閉包的通常方式,是在一個函數內部創建另一個函數。

由於作用域鏈的結構,外圍函數是無法訪問內部變量的,為了能夠訪問內部變量,我們就可以使用閉包,閉包的本質還是函數

4.重繪和回流

只是樣式的變化,不會引起DOM樹變化,頁面布局變化的行為叫重繪,且重繪不一定會伴隨回流

引起DOM樹結構變化,頁面布局變化的行為叫回流,且回流一定伴隨重繪。

什麼情況下回導致回流,如何避免回流?

1.頁面初次渲染

2.瀏覽器窗口尺寸改變

resize事件發生也會引起回流。

3.DOM的增刪行為

比如你要刪除某個節點,給某個父元素增加子元素,這類操作都會引起回流。

如果要加多個子元素,最好使用documentfragment。(讓要操作的元素進行離線處理,處理完事以後再一起更新)

documentFragment是一個保存多個element的容器對象(保存在內存)當更新其中的一個或者多個element時,頁面不會更新。只有當documentFragment容器中保存的所有element更新後再將其插入到頁面中才能更新頁面。

documentFragment用來批量更新

4.幾何屬性的變化

比如元素寬高變了,border變了,字體大小變了,這種直接會引起頁面布局變化的操作也會引起回流。

如果你要改變多個屬性,最好將這些屬性定義在一個class中,直接修改class名,這樣只用引起一次回流。

5.元素位置的變化

改一個元素的左右margin,padding之類的操作

所以在做元素位移的動畫,不要更改margin之類的屬性,使用定位脫離文檔流後改變位置會更好

5.本地存儲和離線緩存

5.1本地存儲

1.cookie

(1)在h5之前,存儲主要用的是cookie。cookie會隨著每次http請求頭信息一起發送,無形中增加了網絡流量,另外,cookie能存儲的數據容量有限,根據瀏覽器類型不同而不同

(2)cookie的優缺點

優點:可控制過期時間,使其不會長期有效可擴展、可用性比較好可加密減少cookie被破解的可能性缺點:數量和長度有限制,最多20條,最長不能超過4k在請求頭上帶著數據安全性差(3)cookie的應用場景:主要應用:購物車、客戶端登錄

2.localStorage

(1)localStorage(本地存儲),可以長期存儲數據,沒有時間限制,一天,一年,兩年甚至更長,數據都可以使用

(2)優缺點

優點:localStorage拓展了cookie的4k限制localStorage可以將第一次請求的5M大小數據直接存儲到本地,相比於cookie可以節約帶寬localStorage的使用也是遵循同源策略的,所以不同的網站直接是不能共用相同的localStorage缺點:需要手動刪除,否則長期存在瀏覽器大小不一,版本的支持也不一樣localStorage只支持string類型的存儲,JSON對象需要轉換localStorage本質上是對字符串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡特點:同源策略限制、只在本地存儲、永久保存、同瀏覽器共享(3)應用場合

數據比較大的臨時保存方案。如在線編輯文章時的自動保存。多頁面訪問共同數據。sessionStorage只適用於同一個標籤頁,localStorage相比而言可以在多個標籤頁中共享數據。3.sessionStorage

(1)sessionStorage(會話存儲),只有在瀏覽器被關閉之前使用,創建另一個頁面時同意可以使用,關閉瀏覽器之後數據就會消失

(2)特點

同源策略限制。若想在不同頁面之間對同一個sessionStorage進行操作,這些頁面必須在同一協議、同一主機名和同一埠下。單標籤頁限制。sessionStorage操作限制在單個標籤頁中,在此標籤頁進行同源頁面訪問都可以共享sessionStorage數據。只在本地存儲。seesionStorage的數據不會跟隨HTTP請求一起發送到伺服器,只會在本地生效,並在關閉標籤頁後清除數據存儲方式。seesionStorage的存儲方式採用key、value的方式。value的值必須為字符串類型(傳入非字符串,也會在存儲時轉換為字符串。)。存儲上限限制:不同的瀏覽器存儲的上限也不一樣,但大多數瀏覽器把上限限制在5MB以下。(3)應用場合:sessionStorage 非常適合單頁應用程式,可以方便在各業務模塊進行傳值。

5.2離線緩存

Application Cache (Manifest)

1)使用方法:

1> 在html標籤添加manifest屬性

在頁面的html標籤中添加manifest屬性,屬性值為manifest文件的路徑。如:

2)編寫manifest文件

manifest文件是簡單的文本文件,它會告知瀏覽器需要緩存的內容以及不需要緩存的內容。

manifest文件可分為三部分:

(1) CACHE MANIFEST - 在此標題下列出的文件將在首次下載後進行緩存

(2)NETWORK - 在此標題下列出的文件需要與伺服器的連接,且不會被緩存

(3)FALLBACK - 在此標題下列出的文件規定當頁面無法訪問時的回退頁面(比如 404 頁面)

3)離線緩存與傳統瀏覽器緩存區別:

瀏覽器緩存(Browser Caching)是為了節約網絡的資源加速瀏覽,瀏覽器在用戶磁碟上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文檔,這樣就可以加速頁面的閱覽

區別:

1、離線緩存是針對整個應用,瀏覽器緩存是單個文件

2、離線緩存斷網了還是可以打開頁面,瀏覽器緩存不行

3、離線緩存可以主動通知瀏覽器更新資源

5.3、本地存儲和離線存儲有什麼不同

本地存儲與離線緩存都是為了方便網頁的加載,提高用戶體驗等。

本地存儲一般存儲的都是數據,而離線緩存一般存儲的是網頁等。

6.冒泡算法思想

交換排序的基本思想是:兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。

應用交換排序基本思想的主要排序方法有:冒泡排序和快速排序。

7.vue中的key值作用

需要使用key來給每個節點做一個唯一標識,Diff算法就可以正確的識別此節點,找到正確的位置區插入新的節點。

所以一句話,key的作用主要是為了高效的更新虛擬DOM

8.v-if和v-show的差別

v-if 是動態添加,當值為 false 時,是完全移除該元素,即 dom 樹中不存在該元素。

v-show 僅是隱藏 / 顯示,值為 false 時,該元素依舊存在於 dom 樹中。若其原有樣式設置了 display: none 則會導致其無法正常顯示

9.vue的生命周期

從開始創建、初始化數據、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過程

簡單講是一個組件從開始到最後消亡所經歷的各種狀態,就是一個組件的生命周期

一個vue實例在創建過程中調用的幾個生命周期鉤子。

1.beforeCreate 說明:在實例初始化之後,數據觀測 (data observer) 和 event/watcher 事件配置之前被調用 注意:此時,無法獲取 data中的數據、methods中的方法

2.created 這是一個常用的生命周期,可以調用methods中的方法、改變data中的數據。最常見的就是發送ajax請求來對已經構建完畢的vue對象的靜態屬性進行一些初始化。

3.beforeMount 在掛載開始之前被調用

4.mounted 此時,vue實例已經掛載到頁面中,可以獲取到el中的DOM元素,進行DOM操作

5.beforeUpdate 數據更新時調用,發生在虛擬 DOM 重新渲染和打補丁之前。你可以在這個鉤子中進一步地更改狀態,這不會觸發附加的重渲染過程。

6.updated 組件 DOM 已經更新,所以你現在可以執行依賴於 DOM 的操作。

7.beforeDestroy 實例銷毀之前調用。在這一步,實例仍然完全可用。使用場景:實例銷毀之前,執行清理任務,比如:清除定時器等

8.destroyed 說明:Vue 實例銷毀後調用。調用後,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。

10.跨域

1. 什麼是跨域請求

在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等標籤以及 Ajax 都可以指向一個資源地址,而所謂的跨域請求就是指:當前發起請求的域與該請求指向的資源所在的域不同時的請求。這裡的域指的是這樣的一個概念:我們認為如果 「協議 + 域名 + 埠號」 均相同,那麼就是同域。

舉個例子:假如一個域名為 aaa.cn的網站,它發起一個資源路徑為

aaa.cn/books/getBookInfo的 Ajax 請求,那麼這個請求是同域的,因為資源路徑的協議、域名以及埠號與當前域一致(例子中協議名默認為http,埠號默認為80)。但是,如果發起一個資源路徑為 bbb.com/pay/purchase的 Ajax 請求,因為請求域 http://bbb.com:80和發起請求的域 http://aaa.cn:80不同,那麼這個請求就是跨域請求。

域名、協議、埠有一個不同就不是同源,三者均相同,這兩個網站才是同源

2.跨域的解決方案

1、 通過jsonp跨域

jsonp的原理就是利用<script>標籤沒有跨域限制,通過<script>標籤src屬性,發送帶有callback參數的GET請求,服務端將接口返回數據拼湊到callback函數中,返回給瀏覽器,瀏覽器解析執行,從而前端拿到callback函數返回的數據。只能發送get一種請求。

2、跨域資源共享(CORS)

CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。它允許瀏覽器向跨源伺服器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。CORS需要瀏覽器和伺服器同時支持。目前,所有瀏覽器都支持該功能,IE瀏覽器不能低於IE10。

3、nginx代理跨域

nginx代理跨域,實質和CORS跨域原理一樣,通過配置文件設置請求響應頭Access-Control-Allow-Origin…等欄位。

1)nginx配置解決iconfont跨域

瀏覽器跨域訪問js、css、img等常規靜態資源被同源策略許可,但iconfont字體文件(eot|otf|ttf|woff|svg)例外,此時可在nginx的靜態資源伺服器中加入以下配置。

2)nginx反向代理接口跨域

跨域問題:同源策略僅是針對瀏覽器的安全策略。伺服器端調用HTTP接口只是使用HTTP協議,不需要同源策略,也就不存在跨域問題。

實現思路:通過Nginx配置一個代理伺服器域名與domain1相同,埠不同)做跳板機,反向代理訪問domain2接口,並且可以順便修改cookie中domain信息,方便當前域cookie寫入,實現跨域訪問。

4、nodejs中間件代理跨域

node中間件實現跨域代理,原理大致與nginx相同,都是通過啟一個代理伺服器,實現數據的轉發,也可以通過設置cookieDomainRewrite參數修改響應頭中cookie中域名,實現當前域的cookie寫入,方便接口登錄認證。

5、document.domain + iframe跨域

此方案僅限主域相同,子域不同的跨域應用場景。實現原理:兩個頁面都通過js強制設置document.domain為基礎主域,就實現了同域。

6、location.hash + iframe跨域

實現原理: a欲與b跨域相互通信,通過中間頁c來實現。 三個頁面,不同域之間利用iframe的location.hash傳值,相同域之間直接js訪問來通信。

7、window.name + iframe跨域

window.name屬性的獨特之處:name值在不同的頁面(甚至不同域名)加載後依舊存在,並且可以支持非常長的 name 值(2MB)。

通過iframe的src屬性由外域轉向本地域,跨域數據即由iframe的window.name從外域傳遞到本地域。這個就巧妙地繞過了瀏覽器的跨域訪問限制,但同時它又是安全操作。

8、postMessage跨域

postMessage是HTML5 XMLHttpRequest Level 2中的API,且是為數不多可以跨域操作的window屬性之一,它可用於解決以下方面的問題:

頁面和其打開的新窗口的數據傳遞多窗口之間消息傳遞頁面與嵌套的iframe消息傳遞上面三個場景的跨域數據傳遞9、WebSocket協議跨域

WebSocket protocol是HTML5一種新的協議。它實現了瀏覽器與伺服器全雙工通信,同時允許跨域通訊,是server push技術的一種很好的實現。

原生WebSocket API使用起來不太方便,我們使用http://Socket.io,它很好地封裝了webSocket接口,提供了更簡單、靈活的接口,也對不支持webSocket的瀏覽器提供了向下兼容。

小結

以上就是9種常見的跨域解決方案,jsonp(只支持get請求,支持老的IE瀏覽器)適合加載不同域名的js、css,img等靜態資源;CORS(支持所有類型的HTTP請求,但瀏覽器IE10以下不支持)適合做ajax各種跨域請求;Nginx代理跨域和nodejs中間件跨域原理都相似,都是搭建一個伺服器,直接在伺服器端請求HTTP接口,這適合前後端分離的前端項目調後端接口。document.domain+iframe適合主域名相同,子域名不同的跨域請求。postMessage、websocket都是HTML5新特性,兼容性不是很好,只適用於主流瀏覽器和IE10+。

11.http狀態碼

HTTP狀態碼總的分為五類:

1開頭:信息狀態碼

2開頭:成功狀態碼

3開頭:重定向狀態碼

4開頭:客戶端錯誤狀態碼

5開頭:服務端錯誤狀態碼

1XX:信息狀態碼

2XX:成功狀態碼

3XX:重定向狀態碼

4XX:客戶端錯誤狀態碼

5XX:服務端錯誤狀態碼

12.MVVM模式

MVVM 由 Model、View、ViewModel 三部分構成,Model 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯;View 代表UI 組件,它負責將數據模型轉化成UI 展現出來,ViewModel 是一個同步View 和 Model的對象。

在MVVM架構下,View 和 Model 之間並沒有直接的聯繫,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。

ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,而View 和 Model 之間的同步工作完全是自動的,無需人為幹涉,因此開發者只需關注業務邏輯,不需要手動操作DOM, 不需要關注數據狀態的同步問題,複雜的數據狀態維護完全由 MVVM 來統一管理。

原作者姓名:吳小花的博客原出處:CSDN

相關焦點

  • 2020Web前端面試題匯總-開課吧
    Web前端面試題說說前端中的事件流以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後小科每日均會提供Python、Web及MySQL資料庫相關的習題。學習沒有捷徑,希望大家都能少走一些彎路,順利找到工作!
  • 每日一學:2020Web前端面試題匯總,提高面試成功機率-開課吧
    本文收錄了一些在Web前端開發面試中經常會遇到的面試題及答案,希望對大家有所幫助,若有所疏漏歡迎指正。2020Web前端面試題Web前端面試題:怎樣查找字符串中出現最多的字符和個數?{ num= $0.length;char = $1;}});console.log(`字符最多的是${char},出現了${num}次`);Web前端面試題題
  • 2020Web前端開發常見面試題匯總-開課吧
    ,可以幫助自己順利通過面試哦。以下是小編為大家整理的web前端面試題及答案,供各位參考。Web前端面試題:異步請求適合在哪個生命周期調?解析:官實例的異步請求是在mounted命周期中調的,實際上也可以在created命周期中調。
  • 2020Web前端開發常見面試題及答案全解析-開課吧Web前端
    Web前端開發問題一:前端如何進行seo優化,以下說法錯誤的是:A.爬蟲依賴於標籤來確定上下文和各個關鍵字的權重;解析:title 指圖片的信息(滑鼠移到圖片上顯示)、alt 指圖片不顯示時顯示的文字以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後酷仔每日均會提供Python及Web相關的習題。
  • 2020Web前端面試題:如何預防XSS?-開課吧
    2020Web前端面試題解析:XSS 攻擊有兩大要素:1.輸入過濾在用戶提交時,由前端過濾輸,然後提交到後端。這樣做是否可行呢?答案是不可行。旦攻擊者繞過前端過濾,直接構造請求,就可以提交惡意代碼了。那麼,換個過濾時機:後端在寫資料庫前,對輸進行過濾,然後把「安全的」內容,返回給前端。
  • 牢記這些常見的HTML5前端面試問題!
    因此,企業也對web前端人才的需求不斷加大。那麼,想要在企業上任web前端崗位,就離不開面試。接下來,上海千鋒就向大家分享一些HTML5面試中常見的有關技術點的問題,希望能助大家面試一臂之力!
  • 2020Web前端程式設計師常見面試題及答案-開課吧
    Web前端面試題及答案使用css調用代理方法 5.給代理賦值 6.實現代理方法注意事項: 1.單例對象不能用代理; 2.代理執行協議方法時要使用respondsToSelector檢查其代理是否符合 3.協議(檢查對象能否響應指定的消息),以避免代理在回調時因為沒有實現方法而造成程序崩潰使用場景: 公共接口,方法較多也選擇用delegate進行解耦 iOS最常用
  • 每日一學:2020Web前端面試題匯總-開課吧
    Web前端面試題問題:怎樣判斷是否是電話號碼?解析:請使最基本的遍歷來實現判斷字符串 a 是否被包含在字符串 b 中,並返回第次出現的位置(找不到返回 -1)。每一個watcher對象都包括:監聽函數,上次變化的值,獲取監聽表達式的方法以及監聽表達式,最後還包括是否需要使用深度對比(angular.equals())以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後小科每日均會提供Python、Web及MySQL資料庫相關的習題。
  • 收藏!MBA小組面試英文總結模板與萬用話術
    復旦MBA面試中,有無領導小組面,一份材料,大家討論完後,每個人一分鐘的英語總結,依次進行,根據自己在總結中的順序不同,可以用以下模板做有針對性的準備~而如果無法對所涉及的內容給出條理性與邏輯性俱佳的總結陳述(特別是條理性和邏輯性對於你的英語都是個沒有意義的概念的時候——似不似很懂你),還可以有文章最後的萬用話術
  • 「乾貨收藏」MBA小組面試英文總結模板與萬用話術
    復旦MBA面試中,有無領導小組面,一份材料,大家討論完後,每個人一分鐘的英語總結,依次進行,根據自己在總結中的順序不同,可以用以下模板做有針對性的準備~而如果無法對所涉及的內容給出條理性與邏輯性俱佳的總結陳述(特別是條理性和邏輯性對於你的英語都是個沒有意義的概念的時候——似不似很懂你還可以有文章最後的萬用話術「保命」好了
  • 前端面試題:git reset、git revert 和 git checkout 有什麼區別
    Web前端面試題解析:這個問題同樣也需要先了解 git 倉庫的三個組成部分:作區(Working Directory)、以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後小科每日均會提供Python及Web相關的習題。學習沒有捷徑,希望大家都能少走一些彎路,順利找到工作!
  • 面試最忌諱的是什麼_2020廣東省公務員面試成績
    面試最忌諱的是什麼_2020廣東省公務員面試成績由廣東公務員考試網考試快訊欄目由提供,更多關於廣東公務員考試無領導面試,廣東公務員考試快訊的內容,請關注廣東公務員考試頻道/廣東公務員考試網!
  • 供應鏈經理該怎樣準備面試?他們面試多位候選人後總結出來了
    面試講究天時地利人和,沒有拿到offer並不能說明能力欠次,但總結和反思是必要的。本文是木筆和好友克彬一起,結合自己面試別人,以及接受面試的過程中搜集整理的一些供應鏈產品相關的面試問題,希望對你有所幫助。當然面試不是做算術題,沒有標準答案,這裡只拋出問題,各位看官可自行思考最合適自己的答案。
  • 什麼樣的人適合學Web前端?你了解Web前端嗎-開課吧
    Web前端web前端對於網站來說,通常是指,網站的前臺部分包括網站的表現層和結構層。因此前端技術一般分為前端設計和前端開發,前端設計一般可以理解為網站的視覺設計,前端開發則是網站的前臺代碼實現,包括基本的HTML和CSS以及JavaScript/ajax,現在新的高級版本HTML5、CSS3,以及SVG等。Web前端開發工程師,主要職責是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術進行客戶端產品的開發。
  • 最常見面試問題:自我介紹一下,怎麼回答出彩?學會3點面試無憂
    一個人是否重視這次面試,「自我介紹」環節是很能體現的。後面的環節你很難掌控,但是自我介紹可是你自己做主的,最容易提前做好準備。考驗你的情商和口才的時候到了。4、特別注意:自我介紹的內容很可能是後面面試官提問的內容,所以一定要揚長避短,講最重要的,你最想讓面試官知道的。比如你說自己學習能力很強,但是沒有舉例子。很可能面試官會繼續問你怎麼證明自己學習能力強。如果沒有強有力的成績,就是在給自己挖坑。
  • 零基礎入門Web前端,什麼樣的人適合學Web前端-開課吧
    那Web前端的工作是什麼樣的呢?web前端的工作主要是客戶端的實現,也就是向客戶展示的一些內容,分為幾個方面,如前端美工UI、前端特效、前端交互、前端架構等。以前的程式設計師是設計、前臺和後臺都寫得,為了提升開發效率,才分解開來的。
  • 26自學轉行前端(寫給和1年前一樣迷茫的我的你)
    然後聊了那麼久,最後我還是給他機會了,我和他說基礎很重要,你面試的是前端,給你個PSD圖,做個靜態來看看先(結果你們肯定想不到。。。結論:不管你自學還是培訓,最重要的是基礎和不斷自學的能力,把培訓當敲門磚方得始終!前端崗位需求如何?多久能找到工作?前景如何?薪資如何?
  • 教師招聘面試:自我介紹範例及技巧總結
    教師招聘面試:自我介紹範例及技巧總結 http://www.hteacher.net 2020-04-17 10:04 教師招聘網 [您的教師考試網]
  • 前端開發需要學多長時間?剛學出來的前端工資多少-開課吧
    前端工程師,也叫Web前端開發工程師。他是隨著Web發展,細分出來的行業。尤其是現在網際網路時代,Web技術應用更加廣泛。網站、手機app、營銷H5等等都離不開Web技術。前端入門相對後臺開發來說容易一點,最基本的就是學習html,Javascript以及Jquery,Ajax,bootstrap之類的前端框架。另外前端技術的更新變化也非常快,不斷有新的技術迭代。正所謂,學無止境。如果接受對力尚佳,或者有些前端基礎,15天到1個月就差不多能夠入門。
  • Web前端零基礎好學嗎?新手該怎麼學?
    前端開發的門檻其實非常低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。所以,對於從事IT工作的人來說,前端開發是個不錯的切入點。也正因為如此,前端開發的領域有很多自學成「才」的同行。HTML是最基礎的,現在流行的是HTML5設計,能更好的為移動端服務,要先學會網頁布局。