一、utf-8和GBK的區別
字符均使用雙字節來表示,只不過為區分中文,將其最高位都定成1。
至于UTF-8編碼則是用以解決國際上字符的一種多字節編碼,它對英文使用8位(即一個字節),中文使用24位(三個字節)來編碼。對于英文字符較多的論壇則用UTF-8節省空間。
GBK包含全部中文字符;UTF-8則包含全世界所有國家需要用到的字符。
GBK是在國家標準GB2312基礎上擴容后兼容GB2312的標準(好像還不是國家標準)
UTF-8編碼的文字可以在各國各種支持UTF8字符集的瀏覽器上顯示。
比如,如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,而無需他們下載IE的中文語言支持包。 所以,對于英文比較多的論壇 ,使用GBK則每個字符占用2個字節,而使用UTF-8英文卻只占一個字節。
UTF8是國際編碼,它的通用性比較好,外國人也可以瀏覽論壇,GBK是國家編碼,通用性比UTF8差,不過UTF8占用的數據庫比GBK大。
二、亂碼產生的原因
亂碼產生的根本原因是保存的編碼格式和瀏覽器解析時的解碼格式不匹配導致的。
解決方法:
首頁,在文件保存的時候自己要清楚是用哪種編碼方式保存的(sublime默認保存方式是utf-8,如果安裝了插件也可另存為gbk,其它IDE可以做設置保存格式)。如果文件是保存為utf-8格式,那么一定要在html 的 <head>里添加<meta charset="utf-8">,這句話的意思是告訴瀏覽器在打開這個頁面的時候不要去猜了,直接用utf-8去解碼。 同理,如果你的文件保存為gbk格式,一定在文件里添加<meta charset="gbk">。
三、顏色的幾種寫法
- 顏色名(例如:red,green,blue)
- 十六進制顏色值(例如:#ff0000,#00ff00,#0000ff,六位顏色值按位數分為三部分,分別對應R,G,B)
- RGB值(例如:rgb(255,0,0),rgb(0,255,0),rgb(0,0,255))
紅色、 綠色、藍色、白色、黑色如何表示? 透明黑色如何表示?#ccc的顏色, #eee的顏色? #333的顏色?
- 白色:White,#ffffff,rgb(255,255,255)
- 黑色:black,#000000,rgb(0,0,0)
還有一種RGBA值,RGBA是代表Red(紅色) Green(綠色) Blue(藍色)和 Alpha的色彩空間,即在RGB值后多加一位來表示透明度,例如rgba(255,0,0,0.5)為半透明紅色。A取值范圍是0~1,,0為完全透明,1為完全不透明。
- 透明黑色:rgba(0,0,0,0.5)
如果十六進制顏色值中分別對應R、G、B值的兩位都相同,則可以縮寫。
- “#ccc”:為#cccccc的縮寫
- “#eee”:為#eeeeee的縮寫
- “#333”:為#333333的縮寫
四、<!DOCTYPE html>的作用是
向瀏覽器說明是HTML5的文檔,在html文件中必須有。
五、嚴格模式和混雜模式
DOCTYPE可以聲明三種DTD(文檔類型定義(Document Type Definition)),分別表示嚴格版本、過渡版本以及基于框架的 HTML 文檔。
當瀏覽器廠商開始創建與標準兼容的瀏覽器時,他們希望確保向后兼容性。為了實現這一點,他們創建了兩種呈現模式:嚴格模式和混雜模式
- 在嚴格模式中,瀏覽器以其支持的最高標準呈現頁面;
- 在混雜模式中,頁面以一種比較寬松的向后兼容的方式顯示。混雜模式通常模擬老式瀏覽器的行為以防止老站點無法工作。
瀏覽器根據DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現方法。
- 如果XHTML、HTML 4.01文檔包含形式完整的DOCTYPE,那么它一般以標準模式呈現。
- 包含過渡DTD和URI的DOCTYPE也導致頁面以標準模式呈現,但是有過渡DTD而沒有URI會導致頁面以混雜模式呈現。
- DOCTYPE不存在或形式不正確會導致HTML和XHTML文檔以混雜模式呈現。
- HTML5沒有DTD,也就沒有嚴格模式與寬松模式的區別,html5有相對寬松的語法,實現時,已經盡可能大的實現了向后兼容。
六、meta的作用以及常見的值
META標簽用來描述一個HTML網頁文檔的屬性,例如作者、日期和時間、網頁描述、關鍵詞、頁面刷新等。
META標簽是HTML標記HEAD區的一個關鍵標簽,它位于HTML文檔的<head>和<title>之間(有些也不是在<head>和<title>之間)。它提供的信息雖然用戶不可見,但卻是文檔的最基本的元信息。<meta>除了提供文檔字符集、使用語言、作者等基本信息外,還涉及對關鍵詞和網頁等級的設定。
META標簽可分為兩大部分:HTTP-EQUIV變量(HTTP-EQUIV用于向瀏覽器提供一些說明信息,從而可以根據這些說明做出反應。HTTP-EQUIV并不僅僅只有說明網頁的字符編碼一個作用,常用的HTTP-EQUIV類型還包括:網頁到期時間、默認的腳本語言、默認的風格頁語言、網頁自動刷新時間等)和NAME變量(description和keywords等)。
實例:
- <meta charset="utf-8">
- <meta http-equiv="Content-Type" content="text/html>
- <meta name="description" content="網頁描述">
- <meta name="keywords" content="關鍵詞">
七、實例分析
<meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1"> 的作用:告訴瀏覽器以最高級模式解析渲染此網頁。即使用IE的最新版本edge,使用chrome內核。
八、常見的瀏覽器以及內核
- Internet Explorer瀏覽器,簡稱IE瀏覽器,使用Trident內核,又稱IE內核
- Mozilla Firefox瀏覽器,使用Gecko內核
- Safari、Chrome瀏覽器,使用Webkit內核
- Opera瀏覽器,使用Presto內核
本教程版權歸饑人谷和作者所有,轉載須說明來源。