HTML、XML、XHTML 有什么區(qū)別
HTML(HyperText Markup Language),超文本標(biāo)記語言。“超文本”就是指頁面內(nèi)可以要分清三者的區(qū)別,首先我們要知道它們的概念。
HTML的定義
XML的定義
XHTML的定義
從概念上來看,我們大概能理解它們的區(qū)別,但是我們需要進(jìn)一步的分析它們,就需要從代碼方面來看了。
HTML的代碼如下所示
XML的代碼如下所示
XHTML的代碼如下所示 [圖片上傳中。。。(6)]
總結(jié): XHTML被發(fā)明出來是為了能更好地去規(guī)范HTML,因?yàn)镠TML的書寫和規(guī)定不是那么規(guī)范,所以出了一個(gè)更嚴(yán)格的版本去規(guī)范它,這個(gè)新版本就是XHTML,它的語法和基本使用規(guī)則和HTML幾乎一模一樣,XHTML以后將漸漸取代HTML。 XML則是用于用來傳輸和存儲(chǔ)數(shù)據(jù),它是不作為的,只是作為純文本來傳輸數(shù)據(jù),正如上面的代碼那樣,你可以自己發(fā)明標(biāo)簽,而不是像html那樣必須使用規(guī)定的標(biāo)簽。
HTML 語義化
首先是關(guān)于語義(Semantics)和默認(rèn)樣式的區(qū)別,默認(rèn)樣式是瀏覽器設(shè)定的一些常用tag的表現(xiàn)形式,語義化的主要目的就是讓大家直觀的認(rèn)識(shí)標(biāo)簽(markup)和屬性(attribute)的用途和作用,很明顯Hx系列看起來很像標(biāo)題,因?yàn)閾碛写煮w和較大的字號(hào)。<strong>,<em>用來區(qū)別于其他文字,起到了強(qiáng)調(diào)的作用。至于列表和表格很明顯的告訴你他們是做什么的。
簡(jiǎn)而言之就是用正確的標(biāo)簽做正確的事。比如我們需要寫一些文字我們可以用H標(biāo)簽寫可以P標(biāo)簽寫甚至可以直接用DIV,但是如果我們要寫的是標(biāo)題那就用H標(biāo)簽,瀏覽器或者是維護(hù)人員就會(huì)知道這是個(gè)標(biāo)題。便于SEO,也有利于維護(hù)。
怎樣理解內(nèi)容與樣式分離的原則
表現(xiàn)和內(nèi)容分離是網(wǎng)頁布局一直倡導(dǎo)的原則,也是當(dāng)下很流行的做法。
CSS和HTML分離的優(yōu)點(diǎn)有以下幾點(diǎn)
修改網(wǎng)頁時(shí)更方便快捷
在修改頁面樣式的時(shí)候,根據(jù)內(nèi)容標(biāo)記,到CSS里找到對(duì)應(yīng)的id或者是class,可以非常迅速地更改頁面樣式。頁面載入得更快
因?yàn)閷⒋蟛糠执a寫在了CSS中,使頁面體積變小,瀏覽器加載速度快。更好地被搜索引擎收錄
由于將大部分的HTML代碼和內(nèi)容樣式寫入了CSS文件中,這就使得網(wǎng)頁中代碼更加適合搜索引擎。
有哪些常見的meta標(biāo)簽
所有瀏覽器都能支持<meta>標(biāo)簽.
在html里沒有結(jié)束標(biāo)簽
位于head元素內(nèi)部
- charset屬性:規(guī)定HTML文檔的字符編碼,是HTML5中的新屬性,常用的字符編碼有UTF-8,ISO–8859-1,你也可以用其他字符編碼,但不是所有的瀏覽器都能夠理解它們,所以一般提倡使用廣泛的字符。
- http-equiv屬性:提供了content屬性的信息的HTTP頭,可用來模擬HTTP相應(yīng)頭,比如這個(gè)代碼就是告訴瀏覽器,每30秒刷新一次。
- name屬性:定義文檔的描述,關(guān)鍵詞,作者。
- content屬性:定義和http-equiv或者name屬性相關(guān)的元信息。
<meta>標(biāo)簽的作用:
聲明編碼
<meta charset='utf-8' />優(yōu)先使用 IE 最新版本和 Chrome,聲明優(yōu)先使用的瀏覽器
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
使用chorm瀏覽器
<meta http-equiv="X-UA-Compatible" content="IE=6" >瀏覽器內(nèi)核控制
<meta name="renderer" content="webkit|ie-comp|ie-stand">
國內(nèi)瀏覽器很多都是雙內(nèi)核(webkit和Trident),使用該標(biāo)簽可以控制瀏覽器選擇何種內(nèi)核渲染。
簡(jiǎn)單舉例,國內(nèi)雙核瀏覽器有以下幾種:
搜狗高速瀏覽器、QQ瀏覽器、360極速瀏覽器、遨游瀏覽器。禁止用戶脫機(jī)瀏覽
<meta http-equiv="Pragma" content="no-cache">優(yōu)化移動(dòng)設(shè)備瀏覽器的顯示,比如手機(jī)瀏覽,如果不是響應(yīng)式網(wǎng)站,不使用initial-scale或者禁用縮放。
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>針對(duì)不識(shí)別Viewport的手持設(shè)備進(jìn)行優(yōu)化
<meta name="HandheldFriendly" content="true">強(qiáng)制豎屏
<!- - QQ強(qiáng)制豎屏 -->
<meta name="x5-orientation" content="portrait">
文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?
HTML中文檔聲明指的是 ,必須是 HTML 文檔的第一行,位于 <html> 標(biāo)簽之前,加上doctype聲明,讓瀏覽器使用標(biāo)準(zhǔn)模式——這就是它的作用。
嚴(yán)格模式:又稱標(biāo)準(zhǔn)模式,是指瀏覽器按照 W3C 標(biāo)準(zhǔn)解析代碼。
混雜模式:又稱怪異模式或兼容模式,是指瀏覽器用自己的方式解析代碼。
怎么區(qū)分:
瀏覽器解析時(shí)到底使用嚴(yán)格模式還是混雜模式,與網(wǎng)頁中的 DTD 直接相關(guān)。
- 如果文檔包含嚴(yán)格的 DOCTYPE ,那么它一般以嚴(yán)格模式呈現(xiàn)。(嚴(yán)格 DTD ——嚴(yán)格模式)
- 包含過渡 DTD 和 URI 的 DOCTYPE ,也以嚴(yán)格模式呈現(xiàn),但有過渡 DTD 而沒有 URI (統(tǒng)一資源標(biāo)識(shí)符,就是聲明最后的地址)會(huì)導(dǎo)致頁面以混雜模式呈現(xiàn)。(有 URI 的過渡 DTD ——嚴(yán)格模式;沒有 URI 的過渡 DTD ——混雜模式)
- DOCTYPE 不存在或形式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。(DTD不存在或者格式不正確——混雜模式)
- HTML5 沒有 DTD ,因此也就沒有嚴(yán)格模式與混雜模式的區(qū)別,HTML5 有相對(duì)寬松的語法,實(shí)現(xiàn)時(shí),已經(jīng)盡可能大的實(shí)現(xiàn)了向后兼容。( HTML5 沒有嚴(yán)格和混雜之分)
瀏覽器亂碼的原因是什么?如何解決?
一般來說,有以下三個(gè)原因
- 比如網(wǎng)頁源代碼是gbk的編碼,而內(nèi)容中的中文字是utf-8編碼的,這樣瀏覽器打開即會(huì)出現(xiàn)html亂碼。反之網(wǎng)頁是編碼utf-8,內(nèi)容是gbk也會(huì)出現(xiàn)亂碼。
解決方法:使用軟件進(jìn)行編輯HTML網(wǎng)頁內(nèi)容,推薦使用WebStorm軟件進(jìn)行HTML代碼編輯和開發(fā)。 盡量不要直接使用記事本進(jìn)行編輯HTML代碼。 - html網(wǎng)頁編碼是gbk,而程序從數(shù)據(jù)庫中調(diào)出呈現(xiàn)是utf-8編碼的內(nèi)容也會(huì)造成編碼亂碼。
解決方法:如果網(wǎng)頁設(shè)置編碼是gbk的,而數(shù)據(jù)庫儲(chǔ)存數(shù)據(jù)編碼格式是UTF-8的,這個(gè)時(shí)候程序查詢數(shù)據(jù)庫數(shù)據(jù)顯示數(shù)據(jù)前進(jìn)程序轉(zhuǎn)碼即可。 - 瀏覽器不能自動(dòng)檢測(cè)網(wǎng)頁編碼,造成網(wǎng)頁亂碼。
解決方法:這個(gè)可能是你網(wǎng)頁沒有設(shè)置meta charset編碼造成。導(dǎo)致瀏覽器不能識(shí)別你網(wǎng)頁默認(rèn)編碼類型。在網(wǎng)頁空白處點(diǎn)擊鼠標(biāo)右鍵,即可選擇“編碼,將編碼改為UTF-8。
常見的瀏覽器有哪些,什么內(nèi)核?
- Trident內(nèi)核——IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
- Gecko內(nèi)核——Firefox、Netscape6至9。
- WebKit內(nèi)核——Safari、Chrome。
- Presto內(nèi)核——OperaPresto。
列出常見的標(biāo)簽,并簡(jiǎn)單介紹這些標(biāo)簽用在什么場(chǎng)景
- div 分區(qū)塊
- a 鏈接
<a href="#">鏈接文字</a> - img 圖片
 - h1-~h6 標(biāo)題
<h1>我是標(biāo)題</h1> - p 段落
<p>我是段落</p>
行級(jí)元素&塊級(jí)元素
行級(jí)元素:span ,a
塊級(jí)元素:獨(dú)占一行div,p,h