HTML、XML鱼冀、XHTML 有什么區(qū)別
HTML:超文本標(biāo)記語言(HyperText Markup Language累铅,簡(jiǎn)稱:HTML)是一種用于創(chuàng)建網(wǎng)頁的標(biāo)準(zhǔn)標(biāo)記語言。HTML是一種基礎(chǔ)技術(shù)蒙具,常與CSS球榆、JavaScript一起被眾多網(wǎng)站用于設(shè)計(jì)令人賞心悅目的網(wǎng)頁、網(wǎng)頁應(yīng)用程序以及移動(dòng)應(yīng)用程序的用戶界面禁筏。網(wǎng)頁瀏覽器可以讀取HTML文件持钉,并將其渲染成可視化網(wǎng)頁
XHTML:可擴(kuò)展超文本標(biāo)記語言(eXtensible HyperText Markup Language,簡(jiǎn)稱:XHTML)篱昔,是一種標(biāo)記語言每强,表現(xiàn)方式與超文本標(biāo)記語言(HTML)類似,不過語法上更加嚴(yán)格州刽】罩矗基于HTML的基礎(chǔ)上進(jìn)行了擴(kuò)展和規(guī)范,讓XHTML更加嚴(yán)格穗椅,主要目的是促進(jìn)HTML向XML過渡辨绊。
XML:可擴(kuò)展標(biāo)記語言(Extensible Markup Language,簡(jiǎn)稱:XML)匹表,是一種標(biāo)記語言门坷,很類似HTML。XML的設(shè)計(jì)宗旨是傳輸數(shù)據(jù)桑孩,而非顯示數(shù)據(jù)拜鹤,XML的標(biāo)簽沒有被預(yù)定義,您需要自行定義標(biāo)簽流椒。XML 被設(shè)計(jì)為具有自我描述性敏簿,是 W3C 的推薦標(biāo)準(zhǔn)。
主要區(qū)別:
XML 被設(shè)計(jì)用來傳輸和存儲(chǔ)數(shù)據(jù)宣虾,而 HTML 則用來顯示數(shù)據(jù)惯裕。
XHTML 是 HTML 與 XML(可擴(kuò)展標(biāo)記語言)的結(jié)合。
XHTML 包含了所有與 XML 語法結(jié)合的 HTML 4.01 元素绣硝。
怎樣理解 HTML 語義化
- 語義化的含義就是用正確的標(biāo)簽做正確的事情蜻势,HTML語義化是指根據(jù)內(nèi)容的結(jié)構(gòu)選擇合適的標(biāo)簽,也就是根據(jù)網(wǎng)頁內(nèi)容將代碼語義化鹉胖。HTML標(biāo)簽語義化是Web網(wǎng)頁標(biāo)準(zhǔn)化的重要一環(huán)握玛,也是標(biāo)準(zhǔn)制定時(shí)重要的設(shè)計(jì)原則够傍。HTML5中新增加的很多標(biāo)簽(如:<article>、<nav>挠铲、<header>和<footer>等)就是基于這樣的設(shè)計(jì)原則冕屯。
怎樣理解內(nèi)容與樣式分離的原則
- 寫 HTML 的時(shí)候先不管樣式, 重點(diǎn)放在HTML的結(jié)構(gòu)和語義化上,讓 HTML 能體現(xiàn)頁面結(jié)構(gòu)或者內(nèi)容拂苹。之后再去寫樣式安聘。寫 JS 的時(shí)候,盡量不要用 JS 去直接操作樣式瓢棒,而是通過給元素添加刪除class來控制樣式變化浴韭。HTML負(fù)責(zé)網(wǎng)頁內(nèi)容(結(jié)構(gòu))部分,樣式則負(fù)責(zé)了頁面的展示效果脯宿。內(nèi)容與樣式分離使得內(nèi)容和樣式各自只負(fù)責(zé)自己的部分念颈,消除兩者的耦合。更重要的是分離增強(qiáng)了機(jī)器的可讀性嗅绰,使得機(jī)器舍肠、網(wǎng)絡(luò)爬蟲能更好地理解頁面內(nèi)容。
有哪些常見的meta標(biāo)簽窘面?
meta標(biāo)簽共有兩個(gè)屬性翠语,分別是http-equiv屬性和name屬性。
1.name屬性
name屬性主要用于描述網(wǎng)頁财边,比如網(wǎng)頁的關(guān)鍵詞肌括,敘述等。與之對(duì)應(yīng)的屬性值為content酣难,content中的內(nèi)容是對(duì)name填入類型的具體描述谍夭,便于搜索引擎抓取。meta標(biāo)簽中name屬性語法格式是:
<meta name="參數(shù)" content="具體的描述">
keywords(關(guān)鍵字)
說明:用于告訴搜索引擎憨募,你網(wǎng)頁的關(guān)鍵字紧索。舉例:
<meta name="keywords" content="軟件,開發(fā)">
description(網(wǎng)站內(nèi)容的描述)
說明:用于告訴搜索引擎菜谣,你網(wǎng)站的主要內(nèi)容珠漂。舉例:
<meta name="description" content="財(cái)務(wù)軟件,外貿(mào)軟件">
viewport(移動(dòng)端的窗口)
說明:這個(gè)屬性常用于設(shè)計(jì)移動(dòng)端網(wǎng)頁尾膊。在用bootstrap,AmazeUI等框架時(shí)候都有用過viewport媳危。舉例:
<meta name="viewport" content="width=device-width, initial-scale=1">
2.http-equiv屬性
- http-equiv顧名思義,相當(dāng)于http的文件頭作用冈敛。
meta標(biāo)簽中http-equiv屬性語法格式是:
<meta http-equiv="參數(shù)" content="具體的描述">
文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?
文檔聲明的作用
文檔聲明是為了告訴瀏覽器待笑,你的 HTML 文檔是用的什么版本的 HTML 來寫的,這樣瀏覽器才能按照你聲明的版本來正確的解析你的 HTML 文檔抓谴。
嚴(yán)格模式和混雜模式指什么?
- 嚴(yán)格模式(推薦)現(xiàn)在也稱為標(biāo)準(zhǔn)模式暮蹂,在該模式下寞缝,瀏覽器會(huì)嚴(yán)格按照 HTML 和 CSS 標(biāo)準(zhǔn)來解析、渲染你的文檔仰泻。
- 混雜模式(不推薦)的由來是一個(gè)歷史問題第租。在互聯(lián)網(wǎng)早期,網(wǎng)頁一般寫成兩個(gè)版本:一個(gè)寫給網(wǎng)景公司的 Navigator瀏覽器我纪,一個(gè)寫給微軟公司的IE瀏覽器。當(dāng)W3C制定了 Web 標(biāo)準(zhǔn)后丐吓,這兩個(gè)瀏覽器不能馬上開始按標(biāo)準(zhǔn)來解析渲染頁面浅悉,因?yàn)檫@樣會(huì)破壞當(dāng)時(shí)大部分頁面的顯示效果。所以各瀏覽器就引入了混雜模式券犁,在該模式下术健,瀏覽器會(huì)模擬Navigator 4和IE5的非標(biāo)準(zhǔn)行為來解析渲染頁面,這樣做就是為了兼容在W3C標(biāo)準(zhǔn)出現(xiàn)之前就存在的那些“不標(biāo)準(zhǔn)”的頁面粘衬。
<!doctype html> 的作用
<!doctype html> 的作用就是讓瀏覽器進(jìn)入標(biāo)準(zhǔn)模式荞估,使用最新的 HTML5標(biāo)準(zhǔn)來解析渲染頁面;如果不寫稚新,瀏覽器就會(huì)進(jìn)入混雜模式勘伺,而這是我們要避免的。
瀏覽器亂碼的原因是什么褂删?如何解決
產(chǎn)生亂碼的原因:
1.比如網(wǎng)頁源代碼是gbk的編碼飞醉,而內(nèi)容中的中文字是utf-8編碼的,這樣瀏覽器打開即會(huì)出現(xiàn)html亂碼屯阀。反之網(wǎng)頁是編碼utf-8缅帘,內(nèi)容是gbk也會(huì)出現(xiàn)亂碼。
2.html網(wǎng)頁編碼是gbk难衰,而程序從數(shù)據(jù)庫中調(diào)出呈現(xiàn)是utf-8編碼的內(nèi)容也會(huì)造成編碼亂碼钦无。
3.瀏覽器不能自動(dòng)檢測(cè)網(wǎng)頁編碼,造成網(wǎng)頁亂碼盖袭。
解決方法:
1.使用軟件進(jìn)行編輯HTML網(wǎng)頁內(nèi)容
2.如果網(wǎng)頁設(shè)置編碼是gbk的失暂,而數(shù)據(jù)庫儲(chǔ)存數(shù)據(jù)編碼格式是UTF-8的,這個(gè)時(shí)候程序查詢數(shù)據(jù)庫數(shù)據(jù)顯示數(shù)據(jù)前進(jìn)程序轉(zhuǎn)碼即可苍凛。
3.如果瀏覽器瀏覽時(shí)候出現(xiàn)網(wǎng)頁亂碼趣席,在瀏覽器中找到轉(zhuǎn)換編碼的菜單進(jìn)行轉(zhuǎn)換。
常見的瀏覽器有哪些醇蝴,什么內(nèi)核
常見瀏覽器 | 內(nèi)核 |
---|---|
Internet Explorer | IE內(nèi)核 |
Firefox | Gecko |
Opear | Presto |
Safari | Webkit |
Chrome | Blink |
列出常見的標(biāo)簽宣肚,并簡(jiǎn)單介紹這些標(biāo)簽用在什么場(chǎng)景
<html></html>
根標(biāo)簽,所有的網(wǎng)頁標(biāo)簽都在<html></html>中悠栓。
<head></head>
標(biāo)簽用于定義文檔的頭部霉涨,它是所有頭部元素的容器按价。
<body>和</body>
標(biāo)簽之間的內(nèi)容是網(wǎng)頁的主要內(nèi)容
<h1></h1>~<h6></h6>
一級(jí)標(biāo)題到六級(jí)標(biāo)題
<p>
用于文字的段落,占一行
<span></span>
標(biāo)簽是沒有語義的笙瑟,它的作用就是為了文字設(shè)置單獨(dú)的樣式用的楼镐。
<br>
換行標(biāo)簽,自閉合標(biāo)簽
<em></em>
標(biāo)簽內(nèi)的文字會(huì)變成斜體
<ul> <li> <li> </ul>
無序列表
<ol> <li> <li> </ol>
有序列表
<div></div>
標(biāo)簽是沒有語義的往枷,將元素包裹的一個(gè)容器框产,常用于對(duì)一個(gè)模塊設(shè)置樣式用。
<table></table>
表格標(biāo)簽错洁,用于制作表格
<form></form>
用于打包form內(nèi)的表單數(shù)據(jù)秉宿。
<img>
用于插入圖片,自閉合標(biāo)簽屯碴。
<a>
超鏈接標(biāo)簽描睦,用于跳轉(zhuǎn)網(wǎng)頁,自閉合標(biāo)簽导而。