HTML、XML、XHTML 的區(qū)別:
HTML,超文本標記語言,是語法較為松散的、不嚴格的Web語言。
XML,可擴展標記語言,主要用于存儲數(shù)據(jù)和結構。
XHTML,可擴展超文本標記語言,基于XML,作用與HTML類似,但語法更嚴格。
HTML 語義化
語義化 HTML 就是選擇合適的標簽、使用合理的代碼結構來編寫HTML的方式,使代碼更具可讀性,也使得瀏覽器的爬蟲和機器能對代碼更好地解析。
要實現(xiàn)HTML的語義化,就要求開發(fā)者掌握常用的HTML標簽,理解各種標簽所代表的含義,在不同的場景能使用合適的標簽,盡量不使用沒有語義信息的標簽。
語義化帶來的是更清晰的頁面結構,使頁面可讀性更強;更清晰的代碼結構,更利于開發(fā)團隊的開發(fā)和維護;更好的適應性,可以支持更多的設備的不同表現(xiàn)形式;與機器更良好的溝通,使瀏覽器更容易渲染表現(xiàn),也使搜索引擎更容易獲取有效信息。
內(nèi)容與樣式分離的原則
寫 HTML 的時候不管樣式, 重點在HTML的結構和語義化上,讓 HTML 能體現(xiàn)頁面結構或者內(nèi)容。之后再去用CSS寫樣式。
HTML 內(nèi)不允許出現(xiàn)屬性樣式,盡量不要出現(xiàn)行內(nèi)樣式。
頁面展現(xiàn)的所有樣式,都由CSS來負責實現(xiàn)。
寫 JS 的時候,盡量不要用 JS 去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化。
CSS與HTML分離的優(yōu)點:
使頁面載入得更快由于將大部分頁面代碼寫在了CSS當中,使得頁面體積容量變得更小,相對于表格嵌套的方式的逐層加載速度快。
修改設計時更有效率在修改頁面的時候更加容易省時。根據(jù)區(qū)域內(nèi)容標記,到CSS里找到相應的ID,使得修改頁面的時候更加方便,也不會破壞頁面其他部分的布局樣式,而表格布局則更不省事。
保持視覺的一致性
DIV+CSS最重要的優(yōu)勢之一是保持視覺的一致性,以往表格嵌套的制作方法,會使得頁面與頁面,或者區(qū)域與區(qū)域之間的顯示效果會有偏差。
- 更好地被搜索引擎兼容
由于將大部分的HTML代碼和內(nèi)容樣式寫入了CSS文件中,這就使得網(wǎng)頁中代碼更加適合搜索引擎。
- 對瀏覽者和瀏覽器更具親和力
由于CSS富含豐富的樣式,使頁面更加靈活性,更加的美觀,它可以根據(jù)不同的瀏覽器,而達到顯示效果的統(tǒng)一和不變形。
常見的meta標簽
<meta charest="UTF-8">
編碼格式為UTF-8,避免亂碼<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
讓瀏覽器指定內(nèi)核解析,解決兼容性<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
適應移動端,同時初值寬度為原始,用戶不可調整寬度-
<meta name="keywords" content="">
keywords用來告訴搜索引擎你網(wǎng)頁的關鍵字是什么。舉例:
<metaname="keywords" content="science,education,culture,politics,ecnomics,relationships,entertaiment,human">
<meta name="description" content="">
description (網(wǎng)站內(nèi)容描述),用來告訴搜索引擎你的網(wǎng)站主要內(nèi)容。
舉例:<metaname="description"content="Thispageisaboutthemeaningofscience,education,culture.">
文檔聲明
文檔聲明的作用是告訴瀏覽器用何種方式渲染頁面。
嚴格模式是指用doctype告訴瀏覽器用何種方式渲染頁面;
混雜模式是指不用doctype告訴瀏覽器,讓其自行解析渲染。
<!doctype html>
是指告訴瀏覽器用最新的html5規(guī)范渲染頁面。
瀏覽器亂碼
瀏覽器出現(xiàn)亂碼一般是由于在制作頁面時使用非英文字符時,保存的編碼格式與瀏覽器解析時的解碼格式不匹配造成的。
為了解決這個問題,就要在頁面保存時就在HTML的<head>里添加<meta charset="">
來聲明編碼格式,來告訴瀏覽器應該用什么解碼格式來解碼。例如使用UTF-8來編碼的頁面,添加<meta charset="utf-8">
來告訴瀏覽器使用UTF-8格式來解碼,就不會出現(xiàn)亂碼了。
常見瀏覽器及其內(nèi)核
常見瀏覽器有IE、Google Chrome、Safari、opera、Firefox等,還有360安全瀏覽器、搜狗瀏覽器、QQ瀏覽器、獵豹安全瀏覽器等國內(nèi)瀏覽器。
Trident(IE內(nèi)核):IE瀏覽器,很多國內(nèi)瀏覽器,以及很多雙核瀏覽器的其中“一核”都是Trident。
Gecko:FireFox瀏覽器等。
Webkit:Chrome瀏覽器,Safari瀏覽器等。
Chromium/Blink:Chromium fork 自開源引擎 WebKit,卻把 WebKit 的代碼梳理得可讀性提高很多,Chrome瀏覽器就使用Chromium內(nèi)核,搜狗、360、QQ瀏覽器等等雙核瀏覽器的一核都是Chromium。2013年谷歌宣布 Chromium 項目中研發(fā) Blink 渲染引擎,內(nèi)置于 Chrome 瀏覽器之中。
Presto:Opera瀏覽器先前使用的內(nèi)核,Opera 在 2013 年 2 月宣布放棄 Presto后使用 WebKit 分支的 Chromium 引擎作為自家瀏覽器核心引擎,在 Chrome 推出 Blink 引擎之后,Opera也轉而使用Blink 作為瀏覽器核心引擎。
目前移動端系統(tǒng)內(nèi)置瀏覽器的內(nèi)核, iOS 平臺主要是 WebKit,
Android 4.4 之前的系統(tǒng)瀏覽器內(nèi)核是 WebKit;Android4.4 系統(tǒng)瀏覽器切換到了Chromium,內(nèi)核是 Webkit 的分支 Blink;Windows Phone 8 系統(tǒng)瀏覽器內(nèi)核則是 Trident。
HTML常見標簽及場景
<h1-6></h>
標題標簽,數(shù)字1到6代表了6個等級的標題,數(shù)字越小代表嵌套在里面的文本像素越大<p></p>
段落標簽,用來存放一段或幾段文字<div></div>
塊級標簽,通常用來標記目標代碼塊,方便對目標區(qū)域代碼進行修改。<span></span>
行內(nèi)級標簽,用來標記目標代碼塊,方便對目標區(qū)域代碼進行修改。<ul></ul><ol></ol><li></li>
列表標簽,ul代表無序列表,ol代表有序列表。li標簽即為對應列表中的項目<strong><em>
強調標簽,strong表示很重要,em表示較重要<a></a>
錨標簽,用來指向外部鏈接或者內(nèi)部鏈接,其中herf屬性代表所指向的url,target屬性可以控制herf中的鏈接以什么方式打開<img>
圖片鏈接,src屬性用來存放圖片的鏈接,title屬性用于在圖片出錯的情況下用文字描述該圖片<iframe>
標簽,用于嵌入頁面。src屬性表示你想要嵌入頁面的url,name屬性可以用來控制嵌入的頁面<table><theader><tbody><tfoot><tr><th>
標簽為表格標簽,theader表示表頭,tfoot表示表尾,在tbody里面有多少個tr就表示有多少行,每個tr里面有多少個th標簽就表示每一行有多少列.但一般不用thead,tbody,tfoot這些鬼東西<dl><dt><dd>
用于展示一系列 “標題:內(nèi)容...”的場景 dt表示標題,dd表示內(nèi)容。