title
、description
、keywords
:搜索對着三項的權重逐個減少,title值強調重點便可,重要關鍵詞出現不要超過2次,並且要靠前,不一樣頁面title
要有所不一樣;description
把頁面內容高度歸納,長度合適,不可過度堆砌關鍵詞,不一樣頁面description
有所不一樣;keywords
列舉出重要關鍵詞便可HTML
代碼,符合W3C規範:語義化代碼讓搜索引擎容易理解網頁HTML
代碼放在最前:搜索引擎抓取HTML
順序是從上到下,有的搜索引擎對抓取長度有限制,保證重要內容必定會被抓取js
輸出:爬蟲不會執行js獲取內容iframe
:搜索引擎不會抓取iframe
中的內容alt
<img>
的title
和alt
有什麼區別alt
是<img>
的特有屬性,是圖片內容的等價描述,用於圖片沒法加載時顯示、讀屏器閱讀圖片。可提圖片高可訪問性,除了純裝飾圖片外都必須設置有意義的值,搜索引擎會重點分析。一、GET
方法javascript
二、POST
方法css
URL
指定的資源提交數據或附加新的數據三、PUT
方法html
POST
方法很像,也是想服務器提交數據。可是,它們之間有不一樣。PUT指定了資源在服務器上的位置,而POST
沒有四、HEAD
方法前端
五、DELETE
方法html5
六、OPTIONS
方法java
URL
所支持的方法。若是請求成功,會有一個Allow
的頭包含相似「GET,POST」
這樣的信息七、TRACE
方法webpack
TRACE
方法被用於激發一個遠程的,應用層的請求消息迴路八、CONNECT
方法css3
TCP/IP
通道URL
交給DNS
域名解析,找到真實IP
,向服務器發起請求;HTML、JS、CSS
、圖象等);HTML、JS、CSS
等)進行語法解析,創建相應的內部數據結構(如HTML
的DOM
);content
方面web
HTTP
請求:合併文件、CSS
精靈、inline Image
DNS
查詢:DNS
緩存、將資源分佈到恰當數量的主機名DOM
元素數量Server
方面面試
CDN
ETag
Gzip
壓縮Cookie
方面
cookie
大小css
方面
CSS
表達式<link>
不使用@import
Javascript
方面
javascript
和css
從外部引入javascript
和css
DOM
訪問圖片方面
css
精靈HTML
中拉伸圖片1XX
:信息狀態碼
100 Continue
繼續,通常在發送post
請求時,已發送了http header
以後服務端將返回此信息,表示確認,以後發送具體參數信息2XX
:成功狀態碼
200 OK
正常返回信息201 Created
請求成功而且服務器建立了新的資源202 Accepted
服務器已接受請求,但還沒有處理3XX
:重定向
301 Moved Permanently
請求的網頁已永久移動到新位置。302 Found
臨時性重定向。303 See Other
臨時性重定向,且老是使用 GET
請求新的 URI
。304 Not Modified
自從上次請求後,請求的網頁未修改過。4XX
:客戶端錯誤
400 Bad Request
服務器沒法理解請求的格式,客戶端不該當嘗試再次使用相同的內容發起請求。401 Unauthorized
請求未受權。403 Forbidden
禁止訪問。404 Not Found
找不到如何與 URI
相匹配的資源。5XX:
服務器錯誤
500 Internal Server Error
最多見的服務器端錯誤。503 Service Unavailable
服務器端暫時沒法處理請求(多是過載或維護)。html
語義化就是讓頁面的內容結構化,便於對瀏覽器、搜索引擎解析;CSS
狀況下也以一種文檔格式顯示,而且是容易閱讀的。SEO
。主要分紅兩部分:渲染引擎(layout engineer
或Rendering Engine
)和JS
引擎
渲染引擎:負責取得網頁的內容(HTML
、XML
、圖像等等)、整理訊息(例如加入CSS
等),以及計算網頁的顯示方式,而後會輸出至顯示器或打印機。瀏覽器的內核的不一樣對於網頁的語法解釋會有不一樣,因此渲染的效果也不相同。全部網頁瀏覽器、電子郵件客戶端以及其它須要編輯、顯示網絡內容的應用程序都須要內核
JS
引擎則:解析和執行javascript
來實現網頁的動態效果JS
引擎並無區分的很明確,後來JS引擎愈來愈獨立,內核就傾向於只指渲染引擎HTML5
如今已經不是 SGML
的子集,主要是關於圖像,位置,存儲,多任務等功能的增長
canvas
video
和 audio
元素localStorage
長期存儲數據,瀏覽器關閉後數據不丟失sessionStorage
的數據在瀏覽器關閉後自動刪除article
、footer
、header
、nav
、section
calendar
、date
、time
、email
、url
、search
webworker
, websocket
, Geolocation
移除的元素:
basefont
,big
,center
,font
, s
,strike,
tt,u`frame
,frameset
,noframes
支持HTML5
新標籤:
IE8/IE7/IE6
支持經過document.createElement
方法產生的標籤持HTML5
新標籤固然也能夠直接使用成熟的框架、好比html5shim
HTML5
的離線儲存怎麼使用,工做原理能不能解釋一下?在用戶沒有與因特網鏈接時,能夠正常訪問站點或應用,在用戶與因特網鏈接時,更新用戶機器上的緩存文件
原理:HTML5
的離線存儲是基於一個新建的.appcache
文件的緩存機制(不是存儲技術),經過這個文件上的解析清單離線存儲資源,這些資源就會像cookie
同樣被存儲了下來。以後當網絡在處於離線狀態下時,瀏覽器會經過被離線存儲的數據進行頁面展現
如何使用:
manifest
的屬性;cache.manifest
文件的編寫離線存儲的資源window.applicationCache
進行需求實現 1 |
CACHE MANIFEST |
HTML5
的離線儲存資源進行管理和加載的呢在線的狀況下,瀏覽器發現html
頭部有manifest
屬性,它會請求manifest
文件,若是是第一次訪問app
,那麼瀏覽器就會根據manifest文件的內容下載相應的資源而且進行離線存儲。若是已經訪問過app
而且資源已經離線存儲了,那麼瀏覽器就會使用離線的資源加載頁面,而後瀏覽器會對比新的manifest
文件與舊的manifes
t文件,若是文件沒有發生改變,就不作任何操做,若是文件改變了,那麼就會從新下載文件中的資源並進行離線存儲。
離線的狀況下,瀏覽器就直接使用離線存儲的資源。
cookies
,sessionStorage
和 localStorage
的區別?cookie
是網站爲了標示用戶身份而儲存在用戶本地終端(Client Side)上的數據(一般通過加密)sessionStorage
和localStorage
不會自動把數據發給服務器,僅在本地保存存儲大小:
cookie
數據大小不能超過4ksessionStorage
和localStorage
雖然也有存儲大小的限制,但比cookie
大得多,能夠達到5M或更大有期時間:
localStorage
存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據sessionStorage
數據在當前瀏覽器窗口關閉後自動刪除cookie
設置的cookie
過時時間以前一直有效,即便窗口或瀏覽器關閉iframe
會阻塞主頁面的Onload
事件SEO
iframe
和主頁面共享鏈接池,而瀏覽器對相同域的鏈接有限制,因此會影響頁面的並行加載iframe
以前須要考慮這兩個缺點。若是須要使用iframe
,最好是經過javascript
動態給iframe
添加src
屬性值,這樣能夠繞開以上兩個問題css
和js
、結構行爲表現的分離一個是功能上的差異
XHTML
可兼容各大瀏覽器、手機以及PDA
,而且瀏覽器也能快速正確地編譯網頁另外是書寫習慣的差異
XHTML
元素必須被正確地嵌套,閉合,區分大小寫,文檔必須擁有根元素link
會同時被加載,而@imort
頁面被加載的時,link
會同時被加載,而@import
引用的CSS
會等到頁面被加載完再加載import
只在IE5
以上才能識別,而link
是XHTML
標籤,無兼容問題link
方式的樣式的權重 高於@import
的權重<!DOCTYPE>
聲明位於文檔中的最前面,處於 <html>
標籤以前。告知瀏覽器的解析器, 用什麼文檔類型 規範來解析這個文檔JS
運做模式是 以該瀏覽器支持的最高標準運行DOCTYPE
不存在或格式不正確會致使文檔以混雜模式呈現a b span img input select strong
div ul ol li dl dt dd h1 h2 h3 h4…p
<br> <hr> <img> <input> <link> <meta>
class
:爲元素設置類標識data-*
: 爲元素增長自定義屬性draggable
: 設置元素是否可拖拽id
: 元素id
,文檔內惟一lang
: 元素內容的的語言style
: 行內css
樣式title
: 元素相關的建議信息svg
繪製出來的每個圖形的元素都是獨立的DOM
節點,可以方便的綁定事件或用來修改。canvas
輸出的是一整幅畫布svg
輸出的圖形是矢量圖形,後期能夠修改參數來自由放大縮小,不會是真和鋸齒。而canvas
輸出標量畫布,就像一張圖片同樣,放大會失真或者鋸齒HTML5
不基於 SGML
,所以不須要對DTD
進行引用,可是須要doctype
來規範瀏覽器的行爲HTML4.01
基於SGML
,因此須要對DTD
進行引用,才能告知瀏覽器文檔所使用的文檔類型svg
border-radius
js
實現 須要求一個點在不在圓上簡單算法、獲取鼠標座標等等概念:將多個小圖片拼接到一個圖片中。經過background-position
和元素尺寸調節須要顯示的背景圖案。
優勢:
HTTP
請求數,極大地提升頁面加載速度缺點:
display: none;
與visibility: hidden;
的區別聯繫:它們都能讓元素不可見
區別:
display:none
;會讓元素徹底從渲染樹中消失,渲染的時候不佔據任何空間;visibility: hidden
;不會讓元素從渲染樹消失,渲染師元素繼續佔據空間,只是內容不可見display: none
;是非繼承屬性,子孫節點消失因爲元素從渲染樹消失形成,經過修改子孫節點屬性沒法顯示;visibility: hidden;
是繼承屬性,子孫節點消失因爲繼承了hidden
,經過設置visibility: visible;
可讓子孫節點顯式display
一般會形成文檔重排。修改visibility
屬性只會形成本元素的重繪。display: none
;元素內容;會讀取visibility: hidden;
元素內容link
與@import
的區別link
是HTML
方式, @import
是CSS方式link
最大限度支持並行下載,@import
過多嵌套致使串行下載,出現FOUC
link
能夠經過rel="alternate stylesheet"
指定候選樣式link
支持早於@import
,可使用@import
對老瀏覽器隱藏樣式@import
必須在樣式規則以前,能夠在css文件中引用其餘文件link
優於@import
Flash Of Unstyled Content
:用戶定義樣式表加載以前瀏覽器使用默認樣式顯示文檔,用戶樣式加載渲染以後再重新顯示文檔,形成頁面閃爍。head
建立規則:
float
不是none
)position
取值爲absolute
或fixed
)display
取值爲inline-block
,table-cell
, table-caption
,flex
, inline-flex
之一的元素overflow
不是visible
的元素做用:
margin
摺疊display
爲none
,那麼position
和float
都不起做用,這種狀況下元素不產生框position
值爲absolute
或者fixed
,框就是絕對定位的,float
的計算值爲none
,display
根據下面的表格進行調整。float
不是none
,框是浮動的,display
根據下表進行調整display
根據下表進行調整display
的值爲指定值display
div
定義height
div
標籤clear:both
div
定義僞類:after
和zoom
div
定義overflow:hidden
div
也浮動,須要定義寬度br
標籤clear:both
CSS
初始化每每會出現瀏覽器之間的頁面顯示差別。SEO
有必定的影響,但魚和熊掌不可兼得,但力求影響最小的狀況下初始化css
選擇器border-radius
text-shadow
transform
CSS3新增僞類有那些?
p:first-of-type
選擇屬於其父元素的首個<p>
元素的每一個<p>
元素。p:last-of-type
選擇屬於其父元素的最後 <p>
元素的每一個<p>
元素。p:only-of-type
選擇屬於其父元素惟一的 <p>
元素的每一個 <p>
元素。p:only-child
選擇屬於其父元素的惟一子元素的每一個 <p>
元素。p:nth-child(2)
選擇屬於其父元素的第二個子元素的每一個 <p>
元素。:after
在元素以前添加內容,也能夠用來作清除浮動。:before
在元素以後添加內容:enabled
:disabled
控制表單控件的禁用狀態。:checked
單選框或複選框被選中block
象塊類型元素同樣顯示。none
缺省值。象行內元素類型同樣顯示。inline-block
象行內元素同樣顯示,但其內容象塊類型元素同樣顯示。list-item
象塊類型元素同樣顯示,並添加樣式列表標記。table
此元素會做爲塊級表格來顯示inherit
規定應該從父元素繼承 display
屬性的值IE
盒子模型、W3C
盒子模型;padding
)、邊界(margin
)、 邊框(border
);IE
的content
部分把 border
和 padding
計算了進去;!important > id > class > tag
important
比 內聯優先級高absolute
:生成絕對定位的元素,相對於 static
定位之外的第一個父元素進行定位fixed
:生成絕對定位的元素,相對於瀏覽器窗口進行定位relative
:生成相對定位的元素,相對於其正常位置進行定位static
默認值。沒有定位,元素出如今正常的流中inherit
規定從父元素繼承 position
屬性的值margin
負值font-size:0
letter-spacing
word-spacing
GIF
8
位像素,256
色boolean
透明JPEG
256
PNG
PNG8
和truecolor PNG
PNG8
相似GIF
顏色上限爲256
,文件小,支持alpha
透明度,無動畫display:block
;。但若是元素設置了浮動後再設置display:block
;那就不會佔一行。:
)用於CSS3僞類,雙冒號(::
)用於CSS3
僞元素60Hz
,即1
秒刷新60
次,因此理論上最小間隔爲1/60*1000ms = 16.7ms
@import
引入多個css
文件,可使用CSS
工具將CSS
合併爲一個CSS
文件,例如使用Sass\Compass
等!important
規則最重要,大於其它規則1000
ID
屬性值,加100
10
position
、display
、float
、width
、heigh
t、margin
、padding
、top
、left
、right
、`css
壓縮與合併、Gzip
壓縮css
文件放在head
裏、不要用@import
CSS3
中提出的三個屬性:transition
、transform
、animation
transition
:定義了元素在變化過程當中是怎麼樣的,包含transition-property
、transition-duration
、transition-timing-function
、transition-delay
。transform
:定義元素的變化結果,包含rotate
、scale
、skew
、translate
。animation
:動畫定義了動做的每一幀(@keyframes
)有什麼效果,包括animation-name
,animation-duration
、animation-timing-function
、animation-delay
、animation-iteration-count
、animation-direction
http
請求CPU
進行編解碼SEO
<img>
的title
和alt
有什麼區別HTTP
的幾種請求方法用途url
到顯示頁面的步驟html5
有哪些新特性、移除了那些元素?HTML5
的離線儲存怎麼使用,工做原理能不能解釋一下?HTML5
的離線儲存資源進行管理和加載的呢cookies
,sessionStorage
和 localStorage
的區別iframe
有那些缺點?WEB
標準以及W3C標準是什麼?xhtml
和html
有什麼區別?Doctype
做用? 嚴格模式與混雜模式如何區分?它們有何意義?void
)元素有那些?行內元素和塊級元素有什麼區別?HTML
全局屬性(global attribute
)有哪些Canvas
和SVG
有什麼區別?HTML5
爲何只須要寫 <!DOCTYPE HTML>?
css sprite
是什麼,有什麼優缺點display: none;
與visibility: hidden
;的區別link
與@import
的區別FOUC?
如何避免block formatting context
),BFC
有什麼用CSS
樣式?css3
有哪些新特性display
有哪些值?說明他們的做用CSS
優先級算法如何計算?BFC
規範的理解?position
的值, relative
和absolute`定位原點是display:inline-block
何時不會顯示間隙?(攜程)PNG,GIF,JPG
的區別及如何選float:left
後是否變爲塊級元素?::before
和 :after
中雙冒號和單冒號有什麼區別?解釋一下這2
個僞元素的做用CSS
合併方法CSS
不一樣選擇器的權重(CSS
層疊的規則)CSS
在性能優化方面的實踐CSS3
動畫(簡單動畫的實現,如旋轉等)base64
的原理及優缺點JavaScript
原型,原型鏈 ? 有什麼特色?Javascript
如何實現繼承?This
對象的理解new
操做符具體幹了什麼呢?Ajax
原理JS
的方式有哪些?XML
和JSON
的區別?webpack
的見解web
安全及防禦原理offsetWidth/offsetHeight
,clientWidth/clientHeight
與scrollWidth/scrollHeight
的區別javascript
有哪些方法定義對象promise
的瞭解jQuery
源碼有哪些寫的好的地方Node
的應用場景AMD
、CMD
的理解web
開發中會話跟蹤的方法有哪些js
的基本數據類型js
有哪些內置對象?JavaScript
的基本規範?JavaScript
有幾種類型的值?,你能畫一下他們的內存圖嗎?javascript
建立對象的幾種方式?eval
是作什麼的?null,undefined
的區別?[「1」, 「2」, 「3」].map(parseInt)
答案是多少?javascript
代碼中的」use strict」
;是什麼意思 ? 使用它區別是什麼?JSON
的瞭解?defer
和async
attribute
和property
的區別是什麼?ES6
的理解ECMAScript6
怎麼寫class
麼,爲何會出現class
這種東西?title
、description
、keywords
:搜索對着三項的權重逐個減少,title值強調重點便可,重要關鍵詞出現不要超過2次,並且要靠前,不一樣頁面title
要有所不一樣;description
把頁面內容高度歸納,長度合適,不可過度堆砌關鍵詞,不一樣頁面description
有所不一樣;keywords
列舉出重要關鍵詞便可HTML
代碼,符合W3C規範:語義化代碼讓搜索引擎容易理解網頁HTML
代碼放在最前:搜索引擎抓取HTML
順序是從上到下,有的搜索引擎對抓取長度有限制,保證重要內容必定會被抓取js
輸出:爬蟲不會執行js獲取內容iframe
:搜索引擎不會抓取iframe
中的內容alt
<img>
的title
和alt
有什麼區別alt
是<img>
的特有屬性,是圖片內容的等價描述,用於圖片沒法加載時顯示、讀屏器閱讀圖片。可提圖片高可訪問性,除了純裝飾圖片外都必須設置有意義的值,搜索引擎會重點分析。一、GET
方法
二、POST
方法
URL
指定的資源提交數據或附加新的數據三、PUT
方法
POST
方法很像,也是想服務器提交數據。可是,它們之間有不一樣。PUT指定了資源在服務器上的位置,而POST
沒有四、HEAD
方法
五、DELETE
方法
六、OPTIONS
方法
URL
所支持的方法。若是請求成功,會有一個Allow
的頭包含相似「GET,POST」
這樣的信息七、TRACE
方法
TRACE
方法被用於激發一個遠程的,應用層的請求消息迴路八、CONNECT
方法
TCP/IP
通道URL
交給DNS
域名解析,找到真實IP
,向服務器發起請求;HTML、JS、CSS
、圖象等);HTML、JS、CSS
等)進行語法解析,創建相應的內部數據結構(如HTML
的DOM
);content
方面
HTTP
請求:合併文件、CSS
精靈、inline Image
DNS
查詢:DNS
緩存、將資源分佈到恰當數量的主機名DOM
元素數量Server
方面
CDN
ETag
Gzip
壓縮Cookie
方面
cookie
大小css
方面
CSS
表達式<link>
不使用@import
Javascript
方面
javascript
和css
從外部引入javascript
和css
DOM
訪問圖片方面
css
精靈HTML
中拉伸圖片1XX
:信息狀態碼
100 Continue
繼續,通常在發送post
請求時,已發送了http header
以後服務端將返回此信息,表示確認,以後發送具體參數信息2XX
:成功狀態碼
200 OK
正常返回信息201 Created
請求成功而且服務器建立了新的資源202 Accepted
服務器已接受請求,但還沒有處理3XX
:重定向
301 Moved Permanently
請求的網頁已永久移動到新位置。302 Found
臨時性重定向。303 See Other
臨時性重定向,且老是使用 GET
請求新的 URI
。304 Not Modified
自從上次請求後,請求的網頁未修改過。4XX
:客戶端錯誤
400 Bad Request
服務器沒法理解請求的格式,客戶端不該當嘗試再次使用相同的內容發起請求。401 Unauthorized
請求未受權。403 Forbidden
禁止訪問。404 Not Found
找不到如何與 URI
相匹配的資源。5XX:
服務器錯誤
500 Internal Server Error
最多見的服務器端錯誤。503 Service Unavailable
服務器端暫時沒法處理請求(多是過載或維護)。html
語義化就是讓頁面的內容結構化,便於對瀏覽器、搜索引擎解析;CSS
狀況下也以一種文檔格式顯示,而且是容易閱讀的。SEO
。主要分紅兩部分:渲染引擎(layout engineer
或Rendering Engine
)和JS
引擎
渲染引擎:負責取得網頁的內容(HTML
、XML
、圖像等等)、整理訊息(例如加入CSS
等),以及計算網頁的顯示方式,而後會輸出至顯示器或打印機。瀏覽器的內核的不一樣對於網頁的語法解釋會有不一樣,因此渲染的效果也不相同。全部網頁瀏覽器、電子郵件客戶端以及其它須要編輯、顯示網絡內容的應用程序都須要內核
JS
引擎則:解析和執行javascript
來實現網頁的動態效果JS
引擎並無區分的很明確,後來JS引擎愈來愈獨立,內核就傾向於只指渲染引擎HTML5
如今已經不是 SGML
的子集,主要是關於圖像,位置,存儲,多任務等功能的增長
canvas
video
和 audio
元素localStorage
長期存儲數據,瀏覽器關閉後數據不丟失sessionStorage
的數據在瀏覽器關閉後自動刪除article
、footer
、header
、nav
、section
calendar
、date
、time
、email
、url
、search
webworker
, websocket
, Geolocation
移除的元素:
basefont
,big
,center
,font
, s
,strike,
tt,u`frame
,frameset
,noframes
支持HTML5
新標籤:
IE8/IE7/IE6
支持經過document.createElement
方法產生的標籤持HTML5
新標籤固然也能夠直接使用成熟的框架、好比html5shim
HTML5
的離線儲存怎麼使用,工做原理能不能解釋一下?在用戶沒有與因特網鏈接時,能夠正常訪問站點或應用,在用戶與因特網鏈接時,更新用戶機器上的緩存文件
原理:HTML5
的離線存儲是基於一個新建的.appcache
文件的緩存機制(不是存儲技術),經過這個文件上的解析清單離線存儲資源,這些資源就會像cookie
同樣被存儲了下來。以後當網絡在處於離線狀態下時,瀏覽器會經過被離線存儲的數據進行頁面展現
如何使用:
manifest
的屬性;cache.manifest
文件的編寫離線存儲的資源window.applicationCache
進行需求實現 1 |
CACHE MANIFEST |
HTML5
的離線儲存資源進行管理和加載的呢在線的狀況下,瀏覽器發現html
頭部有manifest
屬性,它會請求manifest
文件,若是是第一次訪問app
,那麼瀏覽器就會根據manifest文件的內容下載相應的資源而且進行離線存儲。若是已經訪問過app
而且資源已經離線存儲了,那麼瀏覽器就會使用離線的資源加載頁面,而後瀏覽器會對比新的manifest
文件與舊的manifes
t文件,若是文件沒有發生改變,就不作任何操做,若是文件改變了,那麼就會從新下載文件中的資源並進行離線存儲。
離線的狀況下,瀏覽器就直接使用離線存儲的資源。
cookies
,sessionStorage
和 localStorage
的區別?cookie
是網站爲了標示用戶身份而儲存在用戶本地終端(Client Side)上的數據(一般通過加密)sessionStorage
和localStorage
不會自動把數據發給服務器,僅在本地保存存儲大小:
cookie
數據大小不能超過4ksessionStorage
和localStorage
雖然也有存儲大小的限制,但比cookie
大得多,能夠達到5M或更大有期時間:
localStorage
存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據sessionStorage
數據在當前瀏覽器窗口關閉後自動刪除cookie
設置的cookie
過時時間以前一直有效,即便窗口或瀏覽器關閉iframe
會阻塞主頁面的Onload
事件SEO
iframe
和主頁面共享鏈接池,而瀏覽器對相同域的鏈接有限制,因此會影響頁面的並行加載iframe
以前須要考慮這兩個缺點。若是須要使用iframe
,最好是經過javascript
動態給iframe
添加src
屬性值,這樣能夠繞開以上兩個問題css
和js
、結構行爲表現的分離一個是功能上的差異
XHTML
可兼容各大瀏覽器、手機以及PDA
,而且瀏覽器也能快速正確地編譯網頁另外是書寫習慣的差異
XHTML
元素必須被正確地嵌套,閉合,區分大小寫,文檔必須擁有根元素link
會同時被加載,而@imort
頁面被加載的時,link
會同時被加載,而@import
引用的CSS
會等到頁面被加載完再加載import
只在IE5
以上才能識別,而link
是XHTML
標籤,無兼容問題link
方式的樣式的權重 高於@import
的權重<!DOCTYPE>
聲明位於文檔中的最前面,處於 <html>
標籤以前。告知瀏覽器的解析器, 用什麼文檔類型 規範來解析這個文檔JS
運做模式是 以該瀏覽器支持的最高標準運行DOCTYPE
不存在或格式不正確會致使文檔以混雜模式呈現a b span img input select strong
div ul ol li dl dt dd h1 h2 h3 h4…p
<br> <hr> <img> <input> <link> <meta>
class
:爲元素設置類標識data-*
: 爲元素增長自定義屬性draggable
: 設置元素是否可拖拽id
: 元素id
,文檔內惟一lang
: 元素內容的的語言style
: 行內css
樣式title
: 元素相關的建議信息svg
繪製出來的每個圖形的元素都是獨立的DOM
節點,可以方便的綁定事件或用來修改。canvas
輸出的是一整幅畫布svg
輸出的圖形是矢量圖形,後期能夠修改參數來自由放大縮小,不會是真和鋸齒。而canvas
輸出標量畫布,就像一張圖片同樣,放大會失真或者鋸齒HTML5
不基於 SGML
,所以不須要對DTD
進行引用,可是須要doctype
來規範瀏覽器的行爲HTML4.01
基於SGML
,因此須要對DTD
進行引用,才能告知瀏覽器文檔所使用的文檔類型svg
border-radius
js
實現 須要求一個點在不在圓上簡單算法、獲取鼠標座標等等概念:將多個小圖片拼接到一個圖片中。經過background-position
和元素尺寸調節須要顯示的背景圖案。
優勢:
HTTP
請求數,極大地提升頁面加載速度缺點:
display: none;
與visibility: hidden;
的區別聯繫:它們都能讓元素不可見
區別:
display:none
;會讓元素徹底從渲染樹中消失,渲染的時候不佔據任何空間;visibility: hidden
;不會讓元素從渲染樹消失,渲染師元素繼續佔據空間,只是內容不可見display: none
;是非繼承屬性,子孫節點消失因爲元素從渲染樹消失形成,經過修改子孫節點屬性沒法顯示;visibility: hidden;
是繼承屬性,子孫節點消失因爲繼承了hidden
,經過設置visibility: visible;
可讓子孫節點顯式display
一般會形成文檔重排。修改visibility
屬性只會形成本元素的重繪。display: none
;元素內容;會讀取visibility: hidden;
元素內容link
與@import
的區別link
是HTML
方式, @import
是CSS方式link
最大限度支持並行下載,@import
過多嵌套致使串行下載,出現FOUC
link
能夠經過rel="alternate stylesheet"
指定候選樣式link
支持早於@import
,可使用@import
對老瀏覽器隱藏樣式@import
必須在樣式規則以前,能夠在css文件中引用其餘文件link
優於@import
Flash Of Unstyled Content
:用戶定義樣式表加載以前瀏覽器使用默認樣式顯示文檔,用戶樣式加載渲染以後再重新顯示文檔,形成頁面閃爍。head
建立規則:
float
不是none
)position
取值爲absolute
或fixed
)display
取值爲inline-block
,table-cell
, table-caption
,flex
, inline-flex
之一的元素overflow
不是visible
的元素做用:
margin
摺疊display
爲none
,那麼position
和float
都不起做用,這種狀況下元素不產生框position
值爲absolute
或者fixed
,框就是絕對定位的,float
的計算值爲none
,display
根據下面的表格進行調整。float
不是none
,框是浮動的,display
根據下表進行調整display
根據下表進行調整display
的值爲指定值display
div
定義height
div
標籤clear:both
div
定義僞類:after
和zoom
div
定義overflow:hidden
div
也浮動,須要定義寬度br
標籤clear:both
CSS
初始化每每會出現瀏覽器之間的頁面顯示差別。SEO
有必定的影響,但魚和熊掌不可兼得,但力求影響最小的狀況下初始化css
選擇器border-radius
text-shadow
transform
CSS3新增僞類有那些?
p:first-of-type
選擇屬於其父元素的首個<p>
元素的每一個<p>
元素。p:last-of-type
選擇屬於其父元素的最後 <p>
元素的每一個<p>
元素。p:only-of-type
選擇屬於其父元素惟一的 <p>
元素的每一個 <p>
元素。p:only-child
選擇屬於其父元素的惟一子元素的每一個 <p>
元素。p:nth-child(2)
選擇屬於其父元素的第二個子元素的每一個 <p>
元素。:after
在元素以前添加內容,也能夠用來作清除浮動。:before
在元素以後添加內容:enabled
:disabled
控制表單控件的禁用狀態。:checked
單選框或複選框被選中block
象塊類型元素同樣顯示。none
缺省值。象行內元素類型同樣顯示。inline-block
象行內元素同樣顯示,但其內容象塊類型元素同樣顯示。list-item
象塊類型元素同樣顯示,並添加樣式列表標記。table
此元素會做爲塊級表格來顯示inherit
規定應該從父元素繼承 display
屬性的值IE
盒子模型、W3C
盒子模型;padding
)、邊界(margin
)、 邊框(border
);IE
的content
部分把 border
和 padding
計算了進去;!important > id > class > tag
important
比 內聯優先級高absolute
:生成絕對定位的元素,相對於 static
定位之外的第一個父元素進行定位fixed
:生成絕對定位的元素,相對於瀏覽器窗口進行定位relative
:生成相對定位的元素,相對於其正常位置進行定位static
默認值。沒有定位,元素出如今正常的流中inherit
規定從父元素繼承 position
屬性的值margin
負值font-size:0
letter-spacing
word-spacing
GIF
8
位像素,256
色boolean
透明JPEG
256
PNG
PNG8
和truecolor PNG
PNG8
相似GIF
顏色上限爲256
,文件小,支持alpha
透明度,無動畫display:block
;。但若是元素設置了浮動後再設置display:block
;那就不會佔一行。:
)用於CSS3僞類,雙冒號(::
)用於CSS3
僞元素60Hz
,即1
秒刷新60
次,因此理論上最小間隔爲1/60*1000ms = 16.7ms
@import
引入多個css
文件,可使用CSS
工具將CSS
合併爲一個CSS
文件,例如使用Sass\Compass
等!important
規則最重要,大於其它規則1000
ID
屬性值,加100
10
position
、display
、float
、width
、heigh
t、margin
、padding
、top
、left
、right
、`css
壓縮與合併、Gzip
壓縮css
文件放在head
裏、不要用@import
CSS3
中提出的三個屬性:transition
、transform
、animation
transition
:定義了元素在變化過程當中是怎麼樣的,包含transition-property
、transition-duration
、transition-timing-function
、transition-delay
。transform
:定義元素的變化結果,包含rotate
、scale
、skew
、translate
。animation
:動畫定義了動做的每一幀(@keyframes
)有什麼效果,包括animation-name
,animation-duration
、animation-timing-function
、animation-delay
、animation-iteration-count
、animation-direction
http
請求CPU
進行編解碼