摘要:不區分大小寫的聲明是在中,聲明引用,因為基于。標簽名必須用小寫字母。應當寫在中,以避免頁面元素由于樣式確實造成瞬間的白頁或者給用戶閃爍感。一旦遇到錯誤,立刻停止解析,并顯示錯誤信息。,,不支持,,,支持。
doctype(文檔類型) 的作用是什么?
聲明文檔的解析類型(document.compatMode),避免瀏覽器的怪異模式。有以下兩個值:
怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。
標準模式,瀏覽器使用W3C的標準解析渲染頁面。
這個屬性會被瀏覽器識別并使用,但是如果你的頁面沒有DOCTYPE的聲明,瀏覽器按照自己的方式解析渲染頁面(怪異模式),在不同的瀏覽器就會顯示不同的樣式。
注意以下幾點:
聲明不是 HTML 標簽;
聲明必須是 HTML 文檔的第一行,位于 標簽之前。
不區分大小寫
HTML 5的doctype聲明是
在 HTML 4.01 中, 聲明引用 DTD,因為 HTML 4.01 基于 SGML。DTD 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容。 HTML5 不基于 SGML,所以不需要引用 DTD。
瀏覽器標準模式和怪異模式有什么區別?兩者的區別:
盒模型的解析上:
在strict mode中 :width是內容寬度
在quirks mode中 :width則是元素的實際寬度 ,而內容寬度 = width - (margin-left + margin-right + padding-left + padding-right + border-left-width + border-right-width)
圖片元素垂直對齊方式
在strict mode中 :vertical-align 屬性默認取值為 baseline
在quirks mode中 :vertical align 屬性默認為 bottom,因此,在圖片底部會有幾像素的空間。
< table >元素中的字體
Quirks Mode 下,對于 table 元素,字體的某些屬性將不會從 body 或其他封閉元素繼承到 table 中,特別是 font-size 屬性。
內聯元素的尺寸
在 Standards Mode 下,non-replaced inline 元素無法自定義大小,而在 Quirks Mode 下,定義這些元素的 width 和 height 屬性,能夠影響該元素顯示的大小尺寸。
元素的百分比高度
當一個元素使用百分比高度時,在 Standards Mode 下,高度取決于內容的變化,而在 Quirks Mode 下,百分比高度則被正確應用。
元素溢出的處理
在 Standard Mode 下,overflow 取默認值 visible,即溢出可見,這種情況下,溢出內容不會被裁剪,呈現在元素框外。而在 Quirks Mode 下,該溢出被當做擴展 box 來對待,即元素的大小由其內容決定,溢出不會被裁剪,元素框自動調整,包含溢出內容
HTML和XHTML的區別是什么?主要的不同:
XHTML可以理解為html+xml,就是用xml的語法來規范html。
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關閉。
標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
如果網頁內容需要支持多語言,你會怎么做?考慮:
應用字符集的選擇 utf-8
語言書寫習慣&導航結構
數據庫驅動型網站
具體做法:
靜態:就是為每種語言分別準備一套頁面文件,要么通過文件后綴名來區分不同語言,要么通過子目錄來區分不同語言。
動態:站點內所有頁面文件都是動態頁面文件(PHP,ASP等)而不是靜態頁面文件,在需要輸出語言文字的地方統一采用語言變量來表示,這些語言變量可以根據用戶選擇不同的語言賦予不同的值,從而能夠實現在不同的語言環境下輸出不同的文字
data-屬性的作用是什么?data-為前端開發者提供自定義的屬性,這些屬性集可以通過對象的dataset屬性獲取,不支持該屬性的瀏覽器可以通過 getAttribute方法獲取
如果把 HTML5 看作做一個開放平臺,那它的構建模塊有哪些?開放網絡平臺(Open Web Platform)是一些開放的(免版權)技術的集合,這些技術激活了互聯網。使用開放網絡平臺時,每個人都有權實現 Web 上的一個組件,而不用向任何人索取許可和證書。
構建模塊,指的應該是開放網絡平臺這個技術集合中的技術:
HTML
DOM
CSS
SVG
MathML
Web APIs…
EcmaScript / JavaScript
HTTP
URI
Media Accessibility Checklist
請描述 cookies、sessionStorage 和 localStorage 的區別。共同點:都是保存在瀏覽器端,且同源的。
注意:session 在瀏覽器端只保存sessionid,session數據存儲在服務器端,且session是不能區分路徑的。此處討論的sessionStorage和localstorage為html5特性
區別:
大小:cookie 最多只有 4kb,而 sessionStorage 和 localStorage 大小一般可以有 5M
生命周期:cookie 的生命周期由服務器控制,默認是關閉瀏覽器后刪除;sessionStorage 僅在當前的窗口有效,localStorage 除非手動刪除否則一直存在。
http 通信:瀏覽器每次向服務器發送請求的時候都要帶上該域的 cookie,而 sessionStorage 和 localStorage 僅存在于瀏覽器端。
作用域:cookie 和 localStorage 在同個域名下的多個窗口都有效,sessionStorage 只在一個窗口有效,不能跨窗口共享。
易用性:sessionStorage 和 localStorage 屬于 HTML5 的 Web Storage 的 API,更加靈活易用。
Web Storage帶來的好處:
減少網絡流量:一旦數據保存在本地后,就可以避免再向服務器請求數據,因此減少不必要的數據請求,減少數據在瀏覽器和服務器間不必要地來回傳遞。
快速顯示數據:性能好,從本地讀數據比通過網絡從服務器獲得數據快得多,本地數據可以即時獲得。再加上網頁本身也可以有緩存,因此整個頁面和數據都在本地的話,可以立即顯示。
臨時存儲:很多時候數據只需要在用戶瀏覽一組頁面期間使用,關閉窗口后數據就可以丟棄了,這種情況使用sessionStorage非常方便。
服務端存儲:
服務器端也可以保存所有用戶的所有數據,但需要的時候瀏覽器要向服務器請求數據。
服務器端可以保存用戶的持久數據,如數據庫和云存儲將用戶的大量數據保存在服務器端。
服務器端也可以保存用戶的臨時會話數據。服務器端的session機制,如jsp的 session 對象,數據保存在服務器上。 實現上,服務器和瀏覽器之間僅需傳遞session id即可,服務器根據session id找到對應用戶的session對象。會話數據僅在一段時間內有效,這個時間就是server端設置的session有效期。 服務器端保存所有的用戶的數據,所以服務器端的開銷較大,而瀏覽器端保存則把不同用戶需要的數據分布保存在用戶各自的瀏覽器中。瀏覽器端一般只用來存儲小數據,而服務器可以存儲大數據或小數據。服務器存儲數據安全一些,瀏覽器只適合存儲一般數據。
請解釋