keywords:亂碼、顏色铣除、<!DocType>谚咬、嚴格模式、meta元素尚粘、內(nèi)核
一择卦、網(wǎng)頁的亂碼是如何產(chǎn)生的?怎樣解決?
ps:二進制是人為定義的,屏幕顯示的圖形字符是人為定義的郎嫁,除了輸入機器的高低電壓秉继,一切都是人為定義的。
1泽铛、編碼
編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過程尚辑。解碼,是編碼的逆過程盔腔。
編碼最初是出于保密需要杠茬,避免重要情報泄露。后來隨著技術(shù)的進步铲觉,人們發(fā)現(xiàn)編碼能夠在極其有限的資源下傳遞出足夠清晰的信息澈蝙,其中最為著名的要數(shù)摩斯電碼(morse code)。
編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過程撵幽。如同函數(shù)y=kx(k為常量,恒定)礁击,輸入x盐杂,則輸出y逗载,這個k就是編碼表。
摩斯電碼的編碼如下:
在y=kx中輸入x(點链烈、劃組合)厉斟,根據(jù)規(guī)則輸出y(26個英文字母),整個實現(xiàn)過程就是編碼强衡。
2.用位(bit)表示文本
上帝創(chuàng)造了0和“與非”擦秽,其他的由人創(chuàng)造.(God gave us 0 and Nand; Everything else was done by humans)
bit(比特),全名“binary digit”(中文:二進制數(shù)字)漩勤。1比特感挥,代表一個二進制數(shù)字位(注意這里提到的“位”的概念,比如10就是2位越败,110就是3位)触幼。只要談到比特,通常是指特定數(shù)目的比特位究飞。在計算機時代置谦,比特被視作信息塊的基本單位,我們在電腦或者任何終端上所看到的內(nèi)容都是以二進制的形式存儲亿傅、讀取媒峡、交換的。
計算機不明白人類語言葵擎,但它理解邏輯語言(即是或否)丝蹭,因此計算機天然就能夠利用二進制表示信息。聰明的人類想到利用二進制來讓計算機明白自然語言坪蚁,即為所有的字母奔穿、數(shù)字、符號制定唯一的代碼敏晤,每個代碼具有唯一的位數(shù)贱田。一些代碼表示字母,一些代碼表示標點符號嘴脾,一些表示數(shù)字男摧,甚至可以表示空格。美國為此制定了信息交換標準代碼译打,即ASCII碼耗拓。ASCII碼是7位編碼,用二進制0000000~1111111表示奏司,需要用一個字節(jié)表示(1字節(jié)=8位)乔询。
ASCII僅考慮美國人的需要,中文韵洋、韓文竿刁、日文黄锤、德文等字符很難表示,為適配世界上所有語言食拜,1988年幾個主要的計算機公司研究出Unicode編碼鸵熟。Unicode編碼采用16位,需要2個字節(jié)负甸,可以表示65536個字符流强。
3.UTF-8和Unicode
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼.它可以用來表示Unicode標準中的任何字符,且其編碼中的第一個字節(jié)仍與ASCII兼容
ASCII和Unicode都是字符集,Unicode的特點決定了使用這種編碼存儲會浪費很多資源呻待,這在20世紀初期是無法接受的打月,因此Unicode中的字符該以何種形式存儲成了問題。人們提出了3中方法:UTF-8带污,UTF-16僵控,UTF-32。目前Unicode最常用的存儲方式是UTF-8鱼冀。我們在存儲文本或者瀏覽網(wǎng)頁時报破,可以看到編碼一般是Unicod(UTF-8),這就是說要采用Unicode字符集并以UTF-8的二進制形式存儲千绪。
參考:1充易、字符編碼筆記:ASCII,Unicode和UTF-8
2荸型、編碼的奧秘
4盹靴、網(wǎng)頁亂碼的形成與解決。
任何形式的亂碼都是網(wǎng)頁所采用的編碼方式與html的實際內(nèi)容無法匹配瑞妇,不能正確解讀html的文本稿静。問題定義清楚,解決辦法不言自明辕狰。首先看html的以何種編碼存儲改备,再看瀏覽器會以何種編碼解析,使html的存和取采用同樣的編碼即可蔓倍。
二悬钳、CSS中的顏色表示
1、顏色有幾種寫法偶翅?
在css中顏色可以由以下方法指定(分顏色值和顏色名)默勾,詳細解釋見參考資料:
- HEX(十六進制)
- RGB(紅綠藍)
- RGBA(A指透明度)
- HSL(色調(diào)、飽和度聚谁、亮度)
- HSLA(A指透明度)
- 預(yù)定義(由顏色名指定)
2母剥、紅色、 綠色、藍色媳搪、白色铭段、黑色如何表示骤宣? 透明黑色如何表示秦爆?
使用HEX:
#p1 {background-color: #ff0000;} /* red /
#p2 {background-color: #00ff00;} / green /
#p3 {background-color: #0000ff;} / blue /
#p4 {background-color: #ffffff;} / blank /
#p5 {background-color: #000000;} / black /
使用RGB:
#p1 {background-color: rgb(255, 0, 0);} / red /
#p2 {background-color: rgb(0, 255, 0);} / green /
#p3 {background-color: rgb(0, 0, 255);} / blue /
#p4 {background-color: rgb(255,255,255);}/blank/
#p5 {background-color: rgb(0,0,0);}/black/
使用HSL(代表任意值):
#p1 {background-color: hsl(0, 100%, 50%);} /* red /
#p2 {background-color: hsl(120, 100%, 50%);} / green /
#p3 {background-color: hsl(240, 100%, 50%);} / blue /
#p4 {background-color: hsl(, , 100%);} / blank /
#p5{background-color: hsl(, , 0%);} / black /
透明黑色:
#p2 {background-color: hsl(, , 0%,0.5);} / 透明黑色*/
#p1 {background-color: rgba(0,0,0,0.5);}
3憔披、#ccc的顏色等限,#eee的顏色?#333的顏色芬膝?
#ccc即#cccccc望门,是一種銀灰色(靠近黑色),#eee是銀白色(靠近白色),#333是灰黑色锰霜。透明黑色
參考資料:CSS Legal Color Values
三筹误、HTML相關(guān)
1、<!doctype html>的作用是什么癣缅?
DocType是文檔類型(document type),處于文檔的最前面的位置厨剪,當一個頁面確定了正確的doctype,就相當于告訴瀏覽器友存,該以怎么樣的方式來解釋css祷膳,也即是規(guī)定了瀏覽器文檔使用哪一種html或者xhtml規(guī)范。
<!doctype html>就是告訴瀏覽器頁面按照html5標準編寫屡立。
2直晨、嚴格模式(strict mode)和混雜模式(quirks mode)指什么?
混雜模式就是瀏覽器為了兼容很早之前針對舊版本瀏覽器設(shè)計膨俐、并未嚴格遵循 W3C 標準的網(wǎng)頁而產(chǎn)生的一種頁面渲染模式勇皇。
嚴格模式則是遵循W3C標準呈現(xiàn)頁面的模式。
參考資料:
ie和firefox 盒子模型區(qū)別以及quirks mode(怪異模式)和strict mode(嚴格模式]
怪異模式(Quirks Mode)對 HTML 頁面的影響
3焚刺、meta有什么作用敛摘,常見的值有哪些?
<meta> 元素可提供有關(guān)頁面的元信息(meta-information)檩坚,比如針對搜索引擎和更新頻度的描述和關(guān)鍵詞着撩。
meta標簽屬性分別是http-equiv屬性、name屬性匾委、charset屬性拖叙、content屬性,不同的屬性又有不同的參數(shù)值赂乐,這些不同的參數(shù)值就實現(xiàn)了不同的網(wǎng)頁功能薯鳍。
name屬性對應(yīng)的值:
- keywords (關(guān)鍵詞)
- description(網(wǎng)站內(nèi)容描述)
- referrer
- viewport
http-equiv屬性對應(yīng)的值:
- Content-Type
- X-UA-compatible
參考資料:html的meta總結(jié),html標簽中meta屬性使用介紹
4、下列代碼的作用
<meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1">
1挖滤、如果支持Google Chrome Frame:GCF崩溪,則使用GCF渲染;2斩松、如果系統(tǒng)安裝ie8或以上版本伶唯,則使用最高版本ie渲染;3惧盹、否則乳幸,這個設(shè)定可以忽略。
參考資料:關(guān)于content=”IE=edge,chrome=1″介紹-讓網(wǎng)頁優(yōu)先采用Chrome渲染
5钧椰、 常見的瀏覽器有哪些粹断,什么內(nèi)核
(continued)