1、HTML、XML、XHTML 有什么區別
- HTML(HyperText Markup Language):超文本標記語言,是語法較為松散的、不嚴格的web語言;其側重點是數據的外觀,被設計用來顯示數據
- XML(Extensible Markup language),是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據??蓴U展標記語言,主要用于存儲數據和結構,其側重點是數據的內容;XML標簽沒有被預定義,需自行定義標簽。
- XHTML(Extensible HyperText Markup Language),可擴展超文本標記語言,基于XML的優點,語法的書寫格式嚴格,作用與HTML類似,用來顯示數據。實際上就是更加嚴謹、準確的HTML。
在XHML中,元素必須被正確地嵌套;元素必須被關閉;標簽名必須用小寫字母;文檔必須擁有根元素。
2、怎樣理解 HTML 語義化
語義化指選擇合適的標簽、使用合理的代碼結構,便于開發者閱讀,同時讓瀏覽器的爬蟲和機器很好地解析。
作用:(1)頁面也能呈現出很好的內容結構、代碼結構,表達清晰;(2)便于用戶體驗,例如title、alt用于解釋名詞和解釋圖片信息;(3)有利于SEO,和搜索引擎建立良好的溝通,有助于爬蟲抓取更多的有效信息,爬蟲依賴于標簽來確定上下文和各個關鍵字的權重;(4)方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以有意義的方式來渲染頁面;(5)便于團隊開發和維護,語義化更具可讀性。
3、怎樣理解內容與樣式分離的原則?
內容、樣式、行為,分離;HTML內容,CSS樣式,JS行為、交互。
- 寫HTML的時候先不管樣式,重點放在HTML的結構和語義化上,讓HTML能提現頁面結構或者內容。(內容與樣式分離)
- 寫JS的時候,盡量不要用JS去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化。(行為分離)
- HTML內不允許出現屬性樣式,盡量不要出現行內樣式。
4、有哪些常見的meta標簽?
meta常用于定義頁面的說明,關鍵字,最后修改日期,和其它的元數據。這些元數據將服務于瀏覽器(如何布局或重載頁面),搜索引擎和其它網絡服務。
meta標簽,共有兩個屬性,分別是http-equiv屬性和name屬性。
(1)http-equiv屬性:定義http參數
包括:charset(設定網頁字符集),X-UA-Compatible(瀏覽器采取何種版本渲染當前頁面),cache-control(指定請求和響應遵循的緩存機制),expires(網頁到期時間),refresh(自動刷新并指向某頁面),Set-Cookie(cookie設定)。
(2)name屬性:用于描述網頁,比如網頁的關鍵詞,敘述等
包括:keywords(關鍵字), description(網站內容的描述),viewport(移動端的窗口), robots(定義搜索引擎爬蟲的索引方式),author(作者), generator(網頁制作軟件),copyright(版權),revisit-after(搜索引擎爬蟲重訪時間),renderer(雙核瀏覽器渲染方式)
例:
- <meta charset=”utf-8”> 聲明編碼
- <meta http-equiv=”X-UA-Compatible” content=”IE=edge, chrome=1”> 對于一些雙核瀏覽器,用最新的標準渲染。
- <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1”>在移動端合理展示。
- <meta name=”keywords” content=”關鍵詞”> 便于搜索引擎優化。
5、文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
- 文檔聲明作用:告知瀏覽器,以何種方式解析、渲染當前頁面。
- 嚴格模式,有文檔聲明,用來告訴瀏覽器該如何渲染,標準模式指用標準格式來渲染頁面。
- 混雜模式,無文檔聲明,瀏覽器以自己的方式渲染。
- <!DOCTYPE html> 告訴瀏覽器,以HTML5的方式解析、渲染當前頁面。
6、瀏覽器亂碼的原因是什么?如何解決?
- 瀏覽器打開頁面時,將編碼和字符串解析成內容;若無指明編碼格式,瀏覽器不知道以何種方式來解析編碼,以瀏覽器默認的編碼方式進行解析,所以容易造成亂碼。常見有中文字符、小語種字符錯誤。
- 解決方式:設置網頁編碼聲明,即通過設置charset,并保存為設置的字符編碼方式,一般設置為UTF-8。
7、常見的瀏覽器有哪些,什么內核?
IE:Trident內核
Chrome:blink內核
firefox:GECKO內核
Safari: WebKit內核
Opera Sofeware:Presto內核
8、列出常見的標簽,并簡單介紹這些標簽用在什么場景?
h1-h6 標題
p 段落
a 鏈接到一個地址,
img 展示圖片
div標簽,用于給頁面劃分區塊,讓結構更清晰
ul li 無序列表,可以嵌套
ul的直接子元素是li,里面不可以有p,h等標簽
ol li 有序列表
dl dt dd 用于展示一系列“標題:內容....”的場景
<button> </button>
iframe 用于嵌入一個頁面,需要注意跨域操作問題
table 用于展示表格