1. 瀏覽器頁面有哪三層構成,分別是什麼,作用?
構成:結構層、表示層、行爲層
分別是:HTML、CSS、Javascript
作用:HTML實現頁面結構;CSS完成頁面的表現與風格;JS實現客戶端的功能和業務
2. HTML5的優缺點?
優點:
- 網格標準統一 、HTML5本身是由W3C推薦出來的
- 多設備、跨平臺
- 即時更新
- 提高可用性和改進用戶的友好體驗
- 有幾個新的標籤,這將有助於開發人員定義重要內容
- 給站點帶來更多的多媒體元素(音頻和視頻)
- 可以很好的替代Flash和Silverlight
- 涉及到網站抓取和索引時,對SEO很友好
- 被大量應用於移動應用程序和遊戲
缺點:
- 安全:web storage、web socket 這樣的功能很容易被黑客利用,盜取用戶信息和資料
- 完善性:每種瀏覽器對許多特性的支持程度不一樣
- 技術門檻:HTML5簡化開發者工作的同時代表了有許多新的屬性和API需要開發者學習,像 web worker、web socket、web storage等新特性,後臺甚至瀏覽器原理的知識。
- 性能:某些平臺上的引擎問題導致HTML5性能低下
3. Doctype作用?嚴格模式和混雜模式如何區分?它們有何意義?
作用:聲明位於文檔中的最前面,處於標籤之前。用來告訴瀏覽器的解析器,用什麼文檔類型規範來解析這個文檔
嚴格模式:又稱標準模式,是指瀏覽器按照W3C標準解析代碼
混雜模式:又稱怪異模式或兼容模式,是指瀏覽器按照自己的方式解析代碼
如何區分:這與網頁中的DTD有關。(DTD:文檔類型定義)
- 如果文檔包含嚴格的 DOCTYPE,那麼它一般是以嚴格模式呈現。(嚴格DTD ——嚴格模式)
- 包含過渡 DTD 和 URI 的 DOCTYPE,也以嚴格模式呈現,但有過渡 DTD而沒有URI(統一資源標識符,就是聲明最後的地址)會導致頁面以混雜模式呈現。(有URI的過渡DTD——嚴格模式;沒有URI的過渡DTD——混雜模式)
- DOCTYPE 不存在或形式不正確會導致文檔以混雜模式呈現。(DTD不存在或格式錯誤——混雜模式)
- HTML5沒有DTD,因此也就沒有嚴格模式和混雜模式的區別,HTML5有相對寬鬆的語法,實現時,已經儘可能大的向後兼容。(HTML5沒有混雜和嚴格之分)
意義:如果只存在嚴格模式,那麼許多舊網站必然受到影響,因爲嚴格模式是按照W3C標準來的;而如果只存在混雜模式的話,那麼就相當於回到當時瀏覽器大戰時的混亂,每個瀏覽器都有自己的解析模式了。
4. HTML5新特性,移除了哪些元素
HTML5元素按優先級定義爲結構性屬性、塊級性元素、行內語義性元素和交互性元素
結構性元素主要負責web上下文結構定義:
- section:用於區域章節描述
- header:頁面主體的頭部
- footer:頁面的底部(頁腳),通常會標出網站的相關信息
- nav:專門用於菜單導航、鏈接導航的元素,是 navigator 的縮寫
- article:用於表現一篇文章的主題內容,一般爲文字集中顯示的區域
塊級性元素主要完成web頁面區域的劃分,確保內容有效分割:
- aside:用於表達註記、貼士、側欄、摘要、插入的引用等作爲補充主體的內容
- figure:對多個元素進行組合並展示的元素,通常與 ficaption 聯合使用
- code:表示一段代碼塊
- dialog:用於表達人與人之間的對話,該元素包含 dt 和 dd 這兩個組合元素,dt 表示說話者,而 dd 用來表示說話內容
行內語義性元素主要完成web頁面具體內容的引用和描述,是豐富內容展示的基礎:
- meter:表示特定範圍內的數值,可用於工資、數量、百分比等
- time:表示時間值
- progress:表示進度條,可通過對其 max、min、step等屬性進行控制,完成對進度的表示和監視
- video:視頻元素,用於支持和實現視頻文件的直接播放,支持緩衝預載和多種視頻媒體格式
- audio:音頻元素,用於支持和實現音頻文件的直接播放,支持緩衝預載和多種音頻媒體格式
交互性元素主要用於功能性的內容表達,會有一定的數據和內容的關聯,是各種事件的基礎:
- details:表示一段具體的內容,但內容默認可能不顯示,通過某種手段(如單擊)與 legend交互纔會顯示
- datagrid:用來控制客戶端數據與現實,可以由動態腳本及時更新
- menu:用於交互菜單(曾被廢棄又被重新啓用的元素)
- command:用來處理命令的按鈕
5. 網頁一般在哪些瀏覽器上測試,這些瀏覽器內核分別是什麼?
- IE:trident 內核
- Firefox:gecko 內核
- Safari:webkit 內核
- Opera:以前是 persto 內核,現已改用 Google Chrome的 Blink 內核
- Chrome:Blink(基於 webkit,Goolge與Opera Software共同開發)
6. 對WEB標準以及W3C的理解與認識
- 標籤閉合、標籤小寫、不亂嵌套
- 提高搜索機器人搜索概率
- 使用外鏈CSS和JS腳本
- 結構行爲表現分離
- 文件下載與頁面速度更快
- 內容能被更多的用戶所訪問、被更廣泛的設備訪問
- 更少的代碼和組件
- 易維護、改版方便、不需要變動頁面內容
- 提供打印版本而不需要複製內容
- 提高網站易用性
7. HTML5行內元素、塊元素、空元素有哪些?
行內元素
a:錨點
塊元素
空元素