問題一:HTML、XML役电、XHTML 有什么區(qū)別赚爵?
HTML:超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創(chuàng)建網(wǎng)頁的標準標記語言法瑟。是一種最早發(fā)布的語言冀膝,因為最早發(fā)布因此很多地方不夠規(guī)范。
XHTML:可擴展超文本標記語言(英語:eXtensible HyperText Markup Language霎挟,XHTML)窝剖,是一種標記語言,表現(xiàn)方式與超文本標記語言(HTML)類似酥夭,不過語法上更加嚴格赐纱。基于HTML的基礎(chǔ)上進行了擴展和規(guī)范采郎,讓XHTML更加嚴格千所,主要目的是促進HTML向XML過渡。
XML:可擴展標記語言(英語:Extensible Markup Language蒜埋,簡稱:XML)淫痰,是一種標記語言。XML更加的自由整份,同時XML現(xiàn)在逐漸變?yōu)橐环N信息的承載者待错,HTML主要用于信息的展示和表現(xiàn)而XML更傾向與攜帶和傳遞數(shù)據(jù)信息。
HTML烈评、XHTML火俄、XML的發(fā)展
HTML的弊端:
- 編碼不規(guī)范,結(jié)構(gòu)混亂臃腫讲冠,需要智能的終端才能很好的顯示瓜客;
- 表現(xiàn)和結(jié)構(gòu)混亂,不利于開發(fā)和維護竿开;
- 不能使用于更多的網(wǎng)絡(luò)設(shè)備中谱仪,比如手機;
為了讓HTML逐漸過渡到XML階段否彩,w3c又定制了XHTML標準疯攒。
而XML的弊端也不少:
- 在數(shù)據(jù)中尋找信息非常難
- 大數(shù)據(jù)量效率低
- 使用XML傳輸數(shù)據(jù)時沒有數(shù)據(jù)庫系統(tǒng)那樣的信息管理功能
因此XML因為自身嚴苛限制等因素逐漸被HTML5取代。
問題二:怎樣理解 HTML 語義化列荔?
HTML語義化是一種編寫方式敬尺,用正確的標簽做正確的事枚尼。
1)HTML語義化的優(yōu)點:
- HTML語義化能提高網(wǎng)頁語義的清晰度,方便爬蟲工具識別網(wǎng)站內(nèi)容砂吞,爬蟲工具在識別網(wǎng)站內(nèi)容時不會受到網(wǎng)站樣式的影響署恍,只會關(guān)注網(wǎng)站內(nèi)容本身
- HTML的語義化能夠提高團隊對網(wǎng)站的維護和改進效率
- 改善網(wǎng)頁的可訪問性,遇到視覺障礙用戶時屏幕閱讀器能夠更好的系別網(wǎng)頁內(nèi)容
問題三:怎樣理解內(nèi)容與樣式分離的原則呜舒?
1)如何將內(nèi)容與樣式分離:
- HTML-結(jié)構(gòu)锭汛、CSS-樣式 、javascript-執(zhí)行袭蝗,用合理的語言去解決合理的問題唤殴。
2)如何實現(xiàn)內(nèi)容與樣式分離?
- 在使用HTML時應該關(guān)注頁面的結(jié)構(gòu)和信息的呈現(xiàn)到腥,在使用CSS時應該注重樣式本身朵逝,同時減少HTML和CSS的相同化,保證內(nèi)容與樣式分離乡范。在使用javascript時減少對元素的直接改變配名,即行為分離。
問題四:有哪些常見的meta標簽晋辆?
編碼申明:
<meta charset='utf-8' />:告訴瀏覽器用什么編碼方式
<meta>標簽有兩個屬性name和http-equiv
<meta>標簽有兩個屬性name和http-equiv渠脉。下面對這兩個屬性的常見值進行列舉:
http-equiv屬性:<meta http-equiv='參數(shù)' content='參數(shù)變量值'>
- <meta http-equiv=”Set-Cookie” content=”cookievalue=xxx; expires=Friday,12-Jan-2001 18:18:18 GMT; path=/”>:如果網(wǎng)頁過期,那么存盤的cookie將被刪除瓶佳。必須使用GMT的時間格式芋膘。
- <meta http-equiv='expires' content='時間' >:用于設(shè)定網(wǎng)頁的到期時間。一旦網(wǎng)頁過期霸饲,必須到服務器上重新傳輸为朋。
- <meta http-equiv=”Refresh” content=”5;URL”>:告訴瀏覽器在【數(shù)字】秒后跳轉(zhuǎn)到【一個網(wǎng)址】
- <meta http-equiv=”content-Type” content=”text/html; charset=utf-8″>:設(shè)定頁面使用的字符集。
- <meta charset=”utf-8″>:在HTML5中設(shè)定字符集的簡寫寫法厚脉。
- <meta http-equiv=”Pragma” content=”no-cache”>:禁止瀏覽器從本地計算機的緩存中訪問頁面內(nèi)容习寸。訪問者將無法脫機瀏覽。
- <meta http-equiv=”Window-target” content=”_top”>:用來防止別人在iframe(框架)里調(diào)用自己的頁面傻工,這也算是一個非常實用的屬性霞溪。
- <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'> :強制瀏覽器按照特定的版本標準進行渲染。但不支持IE7及以下版本中捆。如果是ie瀏覽器就用最新的ie渲染威鹿,如果是雙核瀏覽器就用chrome內(nèi)核。
name屬性: <meta name='參數(shù)' content='具體的參數(shù)值'>
- <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”>:在移動設(shè)備瀏覽器上轨香,禁用縮放(zooming)功能,用戶只能滾動屏幕幼东。
- <meta name=”description” content=””>:告訴搜索引擎臂容,當前頁面的主要內(nèi)容是xxx科雳。
- <meta name=”keywords” content=””>:告訴搜索引擎,當前頁面的關(guān)鍵字脓杉。
- <meta name=”author” content=””>:告訴搜索引擎糟秘,標注網(wǎng)站作者是誰。
- <meta name=”copyright” content=””>:標注網(wǎng)站的版權(quán)信息球散。
問題五:文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
- <尿赚!doctype html>起到聲明作用,告訴瀏覽器使用什么編碼方式蕉堰,這就是嚴格模式凌净;如果沒有寫這條代碼瀏覽器就會隨機選取一種編碼模式,這就是混雜模式
- doctype是一種通用標記語言的文檔類型聲明屋讶。告訴瀏覽器用什么類型的文檔類型定義(DTD)冰寻,最早源于XML用來規(guī)定文檔中可以出現(xiàn)什么元素以及元素的組成和規(guī)則。
問題六:瀏覽器亂碼的原因是什么皿渗?如何解決
1)通用的編碼方式:
ASCII
全稱美國標準信息交換代碼(American Standard Code for Information Interchange)的縮寫, 針對英語設(shè)計斩芭。
ISOLatin-1
ASCII字符集不包括德、法語中的特殊拉丁字符乐疆,因此歐洲人發(fā)明了ISO 8859-1Latin 1划乖,簡稱為ISOLatin-1。它對ASCII做了個擴充挤土,涵蓋拉丁字母表中特殊語言字符琴庵。
UNICODE
隨著計算機發(fā)展,需要把地球上絕大多數(shù)語言用一種編碼方式表示,發(fā)明了UNICODE編碼,只用2個字節(jié)(16位)就可以編碼地球上幾乎所有地區(qū)的文字耕挨。簡單理解就是细卧,UNICODE是理論上的編碼方式,相當于給世界上每個文字打了個編號筒占,編號具體是以多種實現(xiàn)方式在計算機里面存儲贪庙,比如utf-8和gbk。
UTF-8
utf-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼翰苫,又稱萬國碼止邮。可用于顯示中文簡體繁體及其它語言(如英文奏窑,日文导披,韓文)。
GBK
中國制定的一套漢字編碼規(guī)則埃唯,用2個字節(jié)來表示一個漢字撩匕,總共可以覆蓋2萬多個文字。
2)出現(xiàn)亂碼的原因
在使用編譯器對HTML進行編譯時墨叛,編譯完畢保存后未進行編碼方式聲明的文件會使用編譯器默認的編碼方式進行儲存止毕,如果編譯器使用UTF-8編碼方式儲存后在chrome使用ISO-8859的方式打開就會出現(xiàn)亂碼模蜡。
3)如何解決?
在進行保存時扁凛,在<head>中添加<meta charset="utf-8">即使用UTF-8編碼方式忍疾,或者在瀏覽器中進行編碼聲明選擇文件使用的編碼方式解析。
問題七:常見的瀏覽器有哪些谨朝,是什么內(nèi)核卤妒?
- IE瀏覽器內(nèi)核:Trident
Trident內(nèi)核程序在1997年的IE4中首次被采用,簡稱IE內(nèi)核字币。它是微軟在Mosaic代碼的基礎(chǔ)之上修改而來的则披,并沿用到目前的IE8。Trident實際上是一款開放的內(nèi)核纬朝,其接口內(nèi)核設(shè)計的相當成熟,有許多采用IE內(nèi)核而非IE的瀏覽器涌現(xiàn)收叶。 - Netscape6瀏覽器內(nèi)核:Gecko
Gecko的特點是代碼完全公開,因此共苛,其可開發(fā)程度很高判没,全世界的程序員都可以為其編寫代碼,增加功能隅茎〕畏澹基于開源內(nèi)核的特性,備受青睞辟犀,出現(xiàn)很多以Gecko為內(nèi)核的瀏覽器俏竞,因此有挺大的市場占有量。 - Opera瀏覽器內(nèi)核:Presto
Presto內(nèi)核在2003年的Opera7中首次被使用堂竟,該款引擎的特點就是渲染速度的優(yōu)化達到了極致魂毁,也是目前公認網(wǎng)頁瀏覽速度最快的瀏覽器內(nèi)核,但對網(wǎng)頁的兼容性差出嘹。 - 蘋果Safari瀏覽器內(nèi)核:Webkit
Webkit是蘋果公司自己的內(nèi)核席楚,也是使用的內(nèi)核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎税稼,均是從KDE的KHTML及KJS引擎衍生而來烦秩。且Webkit開放源代碼。 - 傲游瀏覽器3郎仆、QQ瀏覽器和搜狗高速瀏覽器都是使用Webkit與Trident雙核心
Webkit核心讓網(wǎng)頁打開速度更快只祠,Trident核心則帶來更好的兼容性支持。使用高速(webkit)和兼容(Trident)雙瀏覽模式扰肌,保證良好兼容性的同時極大提升網(wǎng)頁瀏覽速度抛寝。當采用高速模式訪問網(wǎng)頁出現(xiàn)問題時,可直接切換內(nèi)核,使用兼容性更佳的兼容模式正常瀏覽網(wǎng)頁墩剖。
問題六:列出常見的標簽猴凹,并簡單介紹這些標簽用在什么場景?
標簽 | 使用場景 |
---|---|
<html>...</html> | 將所有HTML內(nèi)容都包含在這個標簽內(nèi) |
<head>...</head> | 用于定義文檔的頭部岭皂,它是所有頭部元素的容器。 |
<title>...</title> | 文檔的標題 |
<meta>...</meta> | 提供有關(guān)頁面的元信息 |
<body>...</body> | 文檔的內(nèi)容 |
<h 1 >...< /h1> | 一級標題沼头,h1h6分別對應六級標題爷绘,從16標題一次減小 |
< p >...</p > | 整段文字 |
< a>...< /a> | 定義錨,即在頁面插入鏈接 |
< img> | 圖片 |
< ul>...</ ul> | 無序列表 |
< ol>...< /ol> | 有序列表 |
< li>...< /li> | 列表項 |
< br> | 換行 |
<div>...</div> | 定義文檔中的節(jié)进倍,默認表現(xiàn)為塊元素 |
<span>...</span> | 定義定義文檔中的節(jié)土至,默認表現(xiàn)為行內(nèi)元素 |
< em>...< /em> | 定義強調(diào)文本 |
< i>...< /i> | 定義斜體字 |
< strong>...< /strong> | 定義強調(diào)文本 |
< q>...< /q> | 定義短引用 |