1.網(wǎng)頁亂碼的問題是如何產(chǎn)生的?怎樣解決橄仆?
- 亂碼產(chǎn)生的根本原因
我們?cè)诒4嫖募r(shí)的編碼格式和用瀏覽器解析文件時(shí)的解碼方式不一致所導(dǎo)致貌笨。開發(fā)中常引起網(wǎng)頁亂碼的場(chǎng)景有,我們?cè)谟镁庉嬈鞅3执a時(shí)稚新,編輯器會(huì)用自己默認(rèn)的編碼保存文件勘伺,當(dāng)我打開文件時(shí),瀏覽器使用默認(rèn)的解碼格式進(jìn)行渲染褂删,當(dāng)這兩種格式不一致時(shí)就會(huì)產(chǎn)生亂碼飞醉。還有就是當(dāng)在html代碼中寫的編碼格式和保存文件的編碼格式不一致時(shí)也會(huì)引起亂碼。 - 解決方法
使html代碼中寫的格式為和保存文件的格式保持一致屯阀。
不同的編輯器會(huì)有不同的默認(rèn)編碼格式缅帘,我們?cè)陂_發(fā)時(shí)指定編碼來規(guī)范文件的解碼格式。
常見的編碼格式:ASCII难衰、ISOLatin-1钦无、UNICODE、UTF-8盖袭、GBK
在實(shí)際開發(fā)中用的比較多的是UTF-8失暂。
2.顏色有幾種寫法, 紅色鳄虱、 綠色弟塞、藍(lán)色、白色拙已、黑色如何表示决记? 透明黑色如何表示?
所有的顏色都由紅綠藍(lán)混合而成倍踪,分三種寫法系宫,分別為:
- 用英文名字指定顏色
16種基本顏色和150種擴(kuò)展顏色可以采取這種方式指定,顏色名對(duì)大小寫不敏感惭适,大部分瀏覽器都支持顏色名集合
僅僅有 16 種顏色名被 W3C 的 HTML4.0 標(biāo)準(zhǔn)所支持笙瑟。它們是:aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow。
- 使用 rgb(r,g,b)來表示
rgb的數(shù)值使用十進(jìn)制數(shù)0-255或者使用百分比來表示紅綠藍(lán)三原色癞志,其中顏色的透明度由alpha值來實(shí)現(xiàn)往枷,Alpha參數(shù)是一個(gè)介于0.0(完全透明)和1.0(完全不透明)之間的參數(shù)。eg:紅色用rgb (255, 0, 0)表示;半透明度的紅色用rgba(255错洁, 0秉宿, 0, 0.5)表示屯碴;其它依次類推描睦。 - 使用十六進(jìn)制碼指定顏色
十六進(jìn)制碼是使用最廣泛的,因?yàn)殚_發(fā)人員認(rèn)為這是一種最方便的指定顏色的方法导而。一個(gè)十六進(jìn)制碼中忱叭,每組2位數(shù)字分別代表顏色的紅、綠今艺、藍(lán)分量韵丑。所以前兩個(gè)數(shù)字表示紅色,接下來兩位表示綠色虚缎,最后兩位表示藍(lán)色撵彻。
十六進(jìn)制快速轉(zhuǎn)換為十進(jìn)制數(shù)的算法:
16進(jìn)制即逢16進(jìn)1,其中用A实牡,B陌僵,C,D创坞,E碗短,F(xiàn)(字母不區(qū)分大小寫)這六個(gè)字母來分別表示10,11摆霉,12豪椿,13奔坟,14携栋,15。故而有16進(jìn)制每一位上可以是從小到大為0咳秉、1婉支、2、3澜建、4向挖、5、6炕舵、7何之、8、9咽筋、A溶推、B、C、D蒜危、E虱痕、F共16個(gè)大小不同的數(shù)。
16進(jìn)制數(shù)的第0位的[權(quán)值]為16的0次方辐赞,第1位的權(quán)值為16的1次方部翘,第2位的權(quán)值為16的2次方……
所以,在第N(N從0開始)位上响委,如果是是數(shù) X (X 大于等于0新思,并且X小于等于 15,即:F)表示的大小為 X 乘 16的N次方赘风。
我們拿常見的紅色#FF0000舉例:
F對(duì)應(yīng)15表牢,
所以FF在十進(jìn)制中就表示15*16^1+15 * 16^0=15*16+15*1=255
00在十進(jìn)制中就表示0*161+0*160=0*16+0*1=0。
即知道#FF0000對(duì)應(yīng)十進(jìn)制的rgb(255,0,0)贝次。
按這個(gè)規(guī)則就可以快速地將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制崔兴,來準(zhǔn)確知道這個(gè)顏色重紅、綠蛔翅、藍(lán)各有多少敲茄。
3.<!doctype html>的作用是什么
doctype(文檔類型定義)是用來告訴瀏覽器網(wǎng)頁使用那種 HTML 版本。不同文檔模式主要影響CSS內(nèi)容的呈現(xiàn)山析,尤其是瀏覽器對(duì)盒模型的解析堰燎,但在某些情況下也會(huì)影響到JavaScript的解釋執(zhí)行。
聲明<!doctype html>是告訴瀏覽器用html5的規(guī)則去渲染網(wǎng)頁笋轨,
此聲明大小寫不敏感秆剪。
4.嚴(yán)格模式和混雜模式指什么
有<!doctype>聲明的為嚴(yán)格模式,一般聲明DTD爵政,要求瀏覽器嚴(yán)格web標(biāo)準(zhǔn)去進(jìn)行解析仅讽。
嚴(yán)格模式的觸發(fā)方式:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
IE8中關(guān)閉超級(jí)標(biāo)準(zhǔn)模式:<meta http-equiv="X-UA-Compatible" content="IE=7" /> //content屬性中IE的值用于指定使用哪個(gè)版本的呈現(xiàn)引擎來呈現(xiàn)頁面。設(shè)計(jì)這個(gè)值的目的就是為了向后兼容那些專門為老版本的IE設(shè)計(jì)的站點(diǎn)和頁面钾挟。
沒有<!doctype>聲明的為混雜模式洁灵,混雜模式是一種比較寬松的向后兼容的模式〔舫觯混雜模式通常模擬老式瀏覽器的行為徽千,以防止老站點(diǎn)無法工作。采用混雜模式不是什么值得推薦的做法汤锨,因?yàn)椴煌瑸g覽器在這種模式下的行為差異非常大双抽,如果不使用某些hack技術(shù),跨瀏覽器的行為根本就沒有一致性可言闲礼。
5.meta有什么作用牍汹,常見的值有哪些
meta是HTML語言head區(qū)的一個(gè)輔助性標(biāo)簽,一般位于文檔的頭部琅翻,提供有關(guān)web網(wǎng)頁的元數(shù)據(jù),元數(shù)據(jù)不會(huì)顯示在頁面。<meta>
元素可提供有關(guān)頁面的元信息(meta-information)柑贞,比如針對(duì)搜索引擎和更新頻度的描述和關(guān)鍵詞方椎。
常見的屬性和值
content:some_text (定義與 http-equiv 或 name 屬性相關(guān)的元信息)
http-equiv:content-type、expires钧嘶、refresh棠众、set-cookie
name:author、description有决、keywords闸拿、generator、revised书幕、others
scheme:some_text(定義用于翻譯 content 屬性值的格式新荤。)
用法舉例:
<meta name="keywords"content="meta總結(jié),html meta,meta屬性,meta跳轉(zhuǎn)">
<meta name="description"content="haorooms博客,html的meta總結(jié),meta是html語言head區(qū)的一個(gè)輔助性標(biāo)簽台汇。">
<meta name="robots"content="none">
<meta name="author"content="root,root@xxxx.com">
<META name="revisit-after"CONTENT="7days">
<meta http-equiv="expires"content="Fri,12Jan200118:18:18GMT">
<meta http-equiv="Refresh"content="2;URL=http://www.haorooms.com"> //(注意后面的引號(hào)苛骨,分別在秒數(shù)的前面和網(wǎng)址的后面)
<meta http-equiv="content-Type"content="text/html;charset=gb2312">
6.<meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1"有什么作用
用這句話來設(shè)置瀏覽器的兼容模式,其中X-UA-compatible是IE8為了所有未來的IE版本都有一致的外觀引入的新特性苟呐。
IE=edge表示用要瀏覽器用最新的內(nèi)核規(guī)則進(jìn)行渲染痒芝。chrome=1可以激活chrome frame。
7.常見的瀏覽器有哪些牵素,什么內(nèi)核
Chrome:WebKit 內(nèi)核
Internet Explorer:Trident(IE 內(nèi)核)
Firefox:Gecko 內(nèi)核
Safari:WebKit 內(nèi)核
Opera:Presto 內(nèi)核
極速360用的WebKit和Trident
QQ瀏覽器:內(nèi)核為Chromium+Trident內(nèi)核
** 本教程版權(quán)歸作者和饑人谷所有严衬,轉(zhuǎn)載須說明來源! **