一幔烛、HTML啃擦、XML、XHTML 有什么區(qū)別
1饿悬、HTML
超文本標(biāo)記語言令蛉,語法松散,是一種不嚴(yán)格的web語言乡恕,對大小寫不敏感言询,標(biāo)簽沒有成對出現(xiàn)的時候,瀏覽器也不會報錯傲宜。
2运杭、XML
可擴展標(biāo)記語言, XML是用來對信息進(jìn)行自我描述而設(shè)計的一種新語言函卒,基于文本標(biāo)記語言辆憔,XML可以讓用戶根據(jù)要表現(xiàn)的文檔,自由地定義標(biāo)記來表現(xiàn)具有實際意義的內(nèi)容。它的設(shè)計宗旨是傳輸數(shù)據(jù)虱咧,而不是顯示數(shù)據(jù)熊榛。它的標(biāo)簽沒有被預(yù)定義。您需要自行定義標(biāo)簽腕巡。它被設(shè)計為具有自我描述性玄坦。
3、XHTML
XHTML是The Extensible HyperText Markup Language可擴展標(biāo)識語言的縮寫绘沉。XML雖然數(shù)據(jù)轉(zhuǎn)換能力強大煎楣,完全可以替代HTML,但面對成千上萬已有的站點车伞,直接采用XML還為時過早择懂。因此,我們在HTML4.0的基礎(chǔ)上另玖,用XML的規(guī)則對其進(jìn)行擴展困曙,得到了XHTML。簡單的說谦去,建立XHTML的目的就是實現(xiàn)HTML向XML的過渡慷丽。以下為XHTML的特點:
1.對大小寫敏感,必須是小寫的哪轿;
2.標(biāo)簽必須成對出現(xiàn)盈魁,有開始標(biāo)簽就必須有結(jié)束標(biāo)簽;
3.屬性值必須在引號之內(nèi)窃诉;
4.不支持屬性最小化:
eg:正確:<input checked='checked'>
錯誤:<input checked>
5.name屬性不贊成使用杨耙,以后會被淘汰;
6.空元素也要結(jié)束標(biāo)簽:如:<br/>,<hr/>(水平分割線)
可擴展標(biāo)記語言和超文本標(biāo)記語言之間的差異
它不是超文本標(biāo)記語言的替代飘痛。
它是對超文本標(biāo)記語言的補充珊膜。
它和超文本標(biāo)記語言為不同的目的而設(shè)計:
? 1.它被設(shè)計用來傳輸和存儲數(shù)據(jù),其焦點是數(shù)據(jù)的內(nèi)容宣脉。
2.超文本標(biāo)記語言被設(shè)計用來顯示數(shù)據(jù)车柠,其焦點是數(shù)據(jù)的外觀。
超文本標(biāo)記語言旨在顯示信息塑猖,而它旨在傳輸信息竹祷。
對它最好的描述是:它是獨立于軟件和硬件的信息傳輸工具。
XHTML與HTML的區(qū)別:
標(biāo)記的嵌套使用(嚴(yán)格/不嚴(yán)格)
大小寫的使用(區(qū)分/不區(qū)分)
引號的使用(屬性必須添加引用/隨意)
結(jié)束標(biāo)記(不許省略/可以省略)
樣式的使用(type/style)
二羊苟、怎樣理解 HTML 語義化
為什么要使用語義化的HTML呢塑陵?有什么好處呢?
html本身是沒有表現(xiàn)的蜡励,我們看到例如 h1 是粗體令花,字體大小2em阻桅,加粗;strong 是加粗的兼都,不要認(rèn)為這是html的表現(xiàn)嫂沉,這些其實html默認(rèn)的css樣式在起作用,所以首先我們要知道html和頁面的表現(xiàn)是沒有關(guān)系的扮碧,這些是css的事情趟章。HTML在頁面中的作用就是結(jié)構(gòu)和含義,通俗點說就是劃分內(nèi)容芬萍,這里放什么尤揣,我們放的是什么搔啊。
語義化的好處:
1.去掉或樣式丟失的時候能讓頁面呈現(xiàn)清晰的結(jié)構(gòu):
2.屏幕閱讀器(如果訪客有視障)會完全根據(jù)你的標(biāo)記來“讀”你的網(wǎng)頁.
3.PDA柬祠、手機等設(shè)備可能無法像普通電腦的瀏覽器一樣來渲染網(wǎng)頁(通常是因為這些設(shè)備對CSS的支持較弱).
4.搜索引擎的爬蟲也依賴于標(biāo)記來確定上下文和各個關(guān)鍵字的權(quán)重.
5.你的頁面是否對爬蟲容易理解非常重要,因為爬蟲很大程度上會忽略用于表現(xiàn)的標(biāo)記,而只注重語義標(biāo)記.
6.便于團隊開發(fā)和維護
三、怎樣理解內(nèi)容與樣式分離的原則
HTML負(fù)責(zé)網(wǎng)頁內(nèi)容(結(jié)構(gòu))部分负芋,樣式則負(fù)責(zé)了頁面的展示效果漫蛔。內(nèi)容與樣式分離使得內(nèi)容和樣式各自只負(fù)責(zé)自己的部分,消除兩者的耦合旧蛾。更重要的是分離增強了機器的可讀性莽龟,使得機器、網(wǎng)絡(luò)爬蟲能更好地理解頁面內(nèi)容锨天。
CSS與HTML分離的優(yōu)點:
1毯盈、使頁面載入得更快
2、修改設(shè)計時更有效率
3病袄、保持視覺的一致性
4搂赋、更好地被搜索引擎收錄
5、對瀏覽者和瀏覽器更具親和力
CSS與HTML分離的缺點:
1益缠、CSS網(wǎng)站制作的設(shè)計元素通常放在1個外部文件中脑奠,或幾個文件,有可能相當(dāng)復(fù)雜幅慌,甚至比較龐大宋欺。
2、雖然說DIV+CSS解決了大部分瀏覽器兼容問題胰伍,但是也有在部分瀏覽器中使用出現(xiàn)異常齿诞,比如火狐瀏覽器,在IE中顯示正常的頁面骂租,到了火狐瀏覽器中可能會面目全非祷杈。當(dāng)然這應(yīng)該是瀏覽器的問題,但是可以說在目前來看菩咨,DIV+CSS還沒有實現(xiàn)所有瀏覽器的統(tǒng)一兼容吠式。
3陡厘、DIV+CSS對搜索引擎優(yōu)化與否,取決于網(wǎng)頁設(shè)計的專業(yè)水平,而不是DIV+CSS本身。
四特占、常見的meta標(biāo)簽
<meta http-equiv="keywords" content="關(guān)鍵字1,關(guān)鍵字2,...">
<meta http-equiv="description" content="網(wǎng)頁描述">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta name="renderer" content="webkit">
<meta name="renderer" content="ie-comp">
<meta name="renderer" content="ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
<meta http-equiv="Window-target" content="_top">
<meta http-equiv="Refresh" content="2糙置;URL=http://">
五、文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?
DOCTYPE是docunment type(文檔定義)的簡寫是目,用來說明web設(shè)計中所用的html或xhtml的類型谤饭,指出瀏覽器或者其他閱讀程序按照什么樣的規(guī)則(W3C所發(fā)布的一個文檔類型定義即DTD)集去解釋文檔中的標(biāo)記.
由于歷史的原因,瀏覽器對頁面的渲染方式是不一樣的懊纳。在W3C標(biāo)準(zhǔn)出來之前揉抵,瀏覽器對頁面的渲染沒有同一的標(biāo)準(zhǔn),產(chǎn)生了差異嗤疯,quirks mod(混雜模式或者兼容模式)冤今,但在W3C標(biāo)準(zhǔn)出臺之后,瀏覽器對頁面的渲染有了同一的標(biāo)準(zhǔn)即(嚴(yán)格模式或標(biāo)準(zhǔn)模式)茂缚。但是為了保證以前就得頁面仍然正常顯示戏罢,有的瀏覽器就保存了這兩種渲染模式(標(biāo)準(zhǔn)兼容模式)。那么究竟采用哪一種方式進(jìn)行渲染脚囊,就要看DOCTYPE生命中的DTD.
1.瀏覽器要使老舊的網(wǎng)頁正常工作龟糕,但這部分網(wǎng)頁是沒有doctype聲明的,所以瀏覽器對老舊的沒有doctype聲明的網(wǎng)頁采用quirks mode解析悔耘。
2.對于那些瀏覽器不能識別的doctype聲明讲岁,瀏覽器采用strict mode解析
3.在doctype聲明中,沒有使用DTD聲明或者使用HTML4以下(不包括HTML4)的DTD聲明時衬以,基本所有的瀏覽器都是使用quirks mode呈現(xiàn)缓艳,其他的則使用strict mode解析。
4.在現(xiàn)有有doctype聲明的網(wǎng)頁泄鹏,絕大多數(shù)是采用strict mode進(jìn)行解析渲染的郎任。
總之,加上doctype聲明备籽,讓瀏覽器使用標(biāo)準(zhǔn)模式
注意:為了獲得正確的doctype聲明舶治,關(guān)鍵就是讓DTD與文檔所遵循的標(biāo)準(zhǔn)對應(yīng)。例如车猬,假定頁面文檔遵循的是XHTML 1.0 Strict標(biāo)準(zhǔn)霉猛,文檔的doctype聲明就應(yīng)該引用相應(yīng)的DTD。另一方面珠闰,如果doctype聲明指定的是XHTML DTD惜浅,但文檔包含的是舊式風(fēng)格的HTML標(biāo)記,就是不恰當(dāng)?shù)姆龋活愃频靥诚ぃ绻鹍octype聲明指定的是HTML DTD伐厌,但文檔包含的是XHTML 1.0 Strict標(biāo)記,同樣是不恰當(dāng)?shù)摹?br> 總之裸影,doctype使瀏覽器按照dtd指定的渲染方式對頁面進(jìn)行渲染
嚴(yán)格模式與混雜模式——如何觸發(fā)這兩種模式挣轨,區(qū)分它們有什么意義呢?·
區(qū)別:嚴(yán)格模式是瀏覽器根據(jù)規(guī)范去顯示頁面轩猩;混雜模式是以一種向后兼容的方式去顯示
意義:決定瀏覽器如何渲染網(wǎng)站(瀏覽器使用那種規(guī)范去解析網(wǎng)頁)
觸發(fā):瀏覽器根據(jù)doctype是否存在和使用的是那種dtd來決定卷扮。
瀏覽器根據(jù)DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現(xiàn)方法:
1、如果XHTML均践、HTML 4.01文檔包含形式完整的DOCTYPE晤锹,那么它一般以標(biāo)準(zhǔn)模式呈現(xiàn)。
2彤委、包含過渡DTD和URI的DOCTYPE也導(dǎo)致頁面以標(biāo)準(zhǔn)模式呈現(xiàn)鞭铆,但是有過渡DTD而沒有URI會導(dǎo)致頁面以混雜模式呈現(xiàn)。
3葫慎、DOCTYPE不存在或形式不正確會導(dǎo)致HTML和XHTML文檔以混雜模式呈現(xiàn)衔彻。
六、瀏覽器亂碼的原因是什么偷办?如何解決
亂碼造成原因:
1、比如網(wǎng)頁源代碼是gbk的編碼澄港,而內(nèi)容中的中文字是utf-8編碼的椒涯,這樣瀏覽器打開即會出現(xiàn)html亂碼。反之網(wǎng)頁是編碼utf-8回梧,內(nèi)容是gbk也會出現(xiàn)亂碼废岂。
2、html網(wǎng)頁編碼是gbk狱意,而程序從數(shù)據(jù)庫中調(diào)出呈現(xiàn)是utf-8編碼的內(nèi)容也會造成編碼亂碼湖苞。
3、瀏覽器不能自動檢測網(wǎng)頁編碼详囤,造成網(wǎng)頁亂碼财骨。
解決辦法
首先,在文件保存的時候你自己要清楚是用哪種編碼方式保存的藏姐。如果你的文件是保存為utf-8格式隆箩,那么一定要在html 的 <head>
里添加<meta charset="utf-8">
,這句話的意思是告訴瀏覽器在打開這個頁面的時候不要去猜了羔杨,直接用utf-8去解碼捌臊。 同理,如果你的文件保存為gbk格式兜材,一定在文件里添加<meta charset="gbk">
理澎。
總結(jié):
- 亂碼產(chǎn)生的根本原因是你保存的編碼格式和瀏覽器解析時的解碼格式不匹配導(dǎo)致的逞力。
- 亂碼一般是英文以外的字符才會出現(xiàn)。
七糠爬、常見瀏覽器內(nèi)核有哪些
1掏击,使用Trident的是internet explorer,國產(chǎn)的絕大部分瀏覽器秩铆。Trident是就是ie內(nèi)核
2砚亭,使用Gecko的是Mozilla Firefox,使用 Gecko 內(nèi)核的瀏覽器也有不少殴玛,如 Netscape MozillaSuite/SeaMonkey 等
3捅膘,使用Presto的是opera,這是目前公認(rèn)網(wǎng)頁瀏覽速度最快的瀏覽器內(nèi)核
4滚粟,使用WebKit的有蘋果的safari寻仗,谷歌的chrome,還有國產(chǎn)的大部分雙核瀏覽器其中一核就是WebKit
八凡壤、常用標(biāo)簽
1署尤、HTML 標(biāo)題 h(1~6)標(biāo)簽;標(biāo)題(Heading)是通過 h1 - h6 等標(biāo)簽進(jìn)行定義的亚侠。
2曹体、HTML 段落是通過p標(biāo)簽定義的;段落是通過 p 標(biāo)簽定義的
3硝烂、鏈接 a 標(biāo)簽:HTML 使用超級鏈接與網(wǎng)絡(luò)上的另一個文檔相連箕别。幾乎可以在所有的網(wǎng)頁中找到鏈接。點擊鏈接可以從一張頁面跳轉(zhuǎn)到另一張頁面滞谢。
4串稀、img標(biāo)簽:用于在網(wǎng)頁中插入圖片;
5狮杨、表格table標(biāo)簽:用于在 HTML 文檔中創(chuàng)建表格
6母截、列表:
無序列表:ul li
有序列表:ol li
自定義列表:dl dt dd
7、<div>可定義文檔中的分區(qū)或節(jié)橄教,<div> 標(biāo)簽可以把文檔分割為獨立的清寇、不同的部分它可以用作嚴(yán)格的組織工具,并且不使用任何格式與其關(guān)聯(lián)颤陶。如果用 id 或 class 來標(biāo)記 <div>颗管,那么該標(biāo)簽的作用會變得更加有效。
8滓走、button標(biāo)簽:用于創(chuàng)建按鈕垦江,在 button 元素內(nèi)部,您可以放置內(nèi)容,比如文本或圖像比吭。這是該元素與使用 input 元素創(chuàng)建的按鈕之間的不同之處绽族。
9、input標(biāo)簽:<input> 標(biāo)簽用于搜集用戶信息衩藤。根據(jù)不同的 type 屬性值吧慢,輸入字段擁有很多種形式。輸入字段可以是文本字段赏表、復(fù)選框检诗、掩碼后的文本控件、單選按鈕瓢剿、按鈕等等逢慌。
10、iframe 元素會創(chuàng)建包含另外一個文檔的內(nèi)聯(lián)框架(即行內(nèi)框架)间狂;
11攻泼、<!DOCTYPE> 聲明不是 HTML 標(biāo)簽;它是指示 web 瀏覽器關(guān)于頁面使用哪個 HTML 版本進(jìn)行編寫的指令鉴象。<!DOCTYPE> 聲明必須是 HTML 文檔的第一行忙菠,位于 <html> 標(biāo)簽之前。
12纺弊、<html> 與 </html> 標(biāo)簽限定了文檔的開始點和結(jié)束點牛欢,在它們之間是文檔的頭部和主體。
13俭尖、<head> 標(biāo)簽用于定義文檔的頭部氢惋,它是所有頭部元素的容器。<head> 中的元素可以引用腳本稽犁、指示瀏覽器在哪里找到樣式表、提供元信息等等骚亿。
14已亥、<link> 標(biāo)簽定義文檔與外部資源的關(guān)系。
15来屠、<form> 標(biāo)簽用于為用戶輸入創(chuàng)建 HTML 表單虑椎。