1、HTML、XML、XHTML 有什么區別?
1)HTML,超文本標記語言,是語法較為松散的、不嚴格的Web語言;
2)XML,可擴展標記語言, 是一種標記語言,很類似 HTML;
它的設計宗旨是傳輸數據,而非顯示數據,XML標簽沒有被預定義,您需要自行定義標簽。XML 被設計為具有自我描述性。
XML 和 HTML 為不同的目的而設計:
XML 被設計為傳輸和存儲數據,其焦點是數據的內容。
HTML 被設計用來顯示數據,其焦點是數據的外觀。
即HTML 旨在顯示信息,而 XML 旨在傳輸信息。
3)XHTML,可擴展超文本標記語言,基于XML,作用與HTML類似,但語法更嚴格,比如在XHTML標準中:
元素必須被正確地嵌套。
元素必須被關閉。
標簽名必須用小寫字母。
文檔必須擁有根元素。
2、怎樣理解 HTML 語義化?
HTML是一種對文本內容進行結構和語義(或者說“意義”)進行說明的方法。
它會告訴我們說:“這行是一個標題,這幾行組成了一個段落。這些文字是項目列表,這些文字是鏈接到互聯網上另一個文件的超鏈接。”
值得注意的是,不應該讓HTML來告訴我們:“這些文字是藍色的,這些文字又是紅色的。這部分內容是最最靠右的一欄,這行內容是斜體字。”這些和表現相關的信息是CSS的工作。
在做前端開發的時候要記住:HTML告訴我們一塊內容是什么(或其意義),而不是它長的什么樣子。當我們提到“語義標記”的時候,我們所說的HTML應該是完全脫離表現信息的,其中的標簽應該都是語義化地定義了文檔的結構。
HTML語義化的優點:
1.去掉或樣式丟失的時候能讓頁面呈現清晰的結構。
2.屏幕閱讀器(如果訪客有視障)會完全根據你的標記來“讀”你的網頁。
3.方便搜索引擎和網絡爬蟲很好的解析。
4.便于團隊開發和維護。
3、怎樣理解內容與樣式分離的原則?
CSS與HTML分離的優點
1、使頁面載入得更快由于將大部分頁面代碼寫在了CSS當中,使得頁面體積容量變得更小。相對于表格嵌套的方式的逐層加載速度快。
2、修改設計時更有效率在修改頁面的時候更加容易省時。根據區域內容標記,到CSS里找到相應的ID,使得修改頁面的時候更加方便,也不會破壞頁面其他部分的布局樣式。
3、保持視覺的一致性最重要的優勢之一:保持視覺的一致性;以往表格嵌套的制作方法,會使得頁面與頁面,或者區域與區域之間的顯示效果會有偏差。
4、更好地被搜索引擎收錄由于將大部分的HTML代碼和內容樣式寫入了CSS文件中,這就使得網頁中代碼更加適合搜索引擎。
5、對瀏覽者和瀏覽器更具親和力對瀏覽者和瀏覽器更具親和力,由于CSS富含豐富的樣式,使頁面更加靈活性,更加的美觀,它可以根據不同的瀏覽器,而達到顯示效果的統一和不變形。
所以在前端開發時堅持內容與樣式的分離原則,工作更容易和有序。
4、有哪些常見的meta標簽?
1、META標簽的keywords 寫法為:<meta name="Keywords" content="信息參數" /> meat標簽的Keywords的的信息參數,代表說明網站的關鍵詞是什么。
2、META標簽的Description <meta name="Description" content="信息參數" /> meta標簽的Description的信息參數,代表說明網站的主要內容,概況是什么。
3、META標簽的http-equiv=Content-Type content="text/html 代表的是HTTP的頭部協議,提示瀏覽器網頁的信息。
寫法為:<meta http-equiv="Content-Type" content="text/html; charset=信息參數" >
charset="信息參數" 指定字符集即網采用的編碼方式:
GB2312=簡體中文;
BIG5=繁體中文;
iso-2022-jp=日文;
ks_c_5601=韓文;
ISO-8859-1=英文;
UTF-8=世界通用的語言編碼;
在HTML5中,在表達charset信息時可以簡寫,前面的內容可以去掉,即寫法是: <meta charset="GBK">
4、<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 適配移動設備。
5、<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">適配雙核瀏覽器。
6、META標簽的generator <meta name="generator" content="信息參數" /> meta標簽的generator的信息參數,代表說明網站的采用的什么軟件制作。
7、META標簽的author <meta name="author" content="信息參數"> meta標簽的author的信息參數,代表說明網頁版權作者信息。
8、META標簽的http-equiv="Refresh" <Meta http-equiv="Refresh" Content="時間; Url=網址參數"> meta標簽的Refresh代表多少時間網頁自動刷新,加上Url中的網址參數就代表,多長時間自動鏈接其他網址。
9、META標簽的HTTP-EQUIV="Pragma" CONTENT="no-cache" <META HTTP-EQUIV="Pragma" CONTENT="no-cache">代表禁止瀏覽器從本地計算機的緩存中訪問頁面內容,這樣設定,訪問者將無法脫機瀏覽。
10、META標簽的COPYRIGHT <META NAME="COPYRIGHT" CONTENT="信息參數"> meta標簽的COPYRIGHT的信息參數,代表說明網站版權信息。
11、META標簽的http-equiv="imagetoolbar" <meta http-equiv="imagetoolbar" content="false" /> 指定是否顯示圖片工具欄,當為false代表不顯示,當為true代表顯示。
12、META標簽的Content-Script-Type <Meta http-equiv="Content-Script-Type" Content="text/javascript"> W3C網頁規范,指明頁面中腳本的類型。
13、META標簽的revisit-after <META name="revisit-after" CONTENT="7 days" > revisit-after代表網站重訪,7 days代表7天,依此類推。
14、META標簽的Robots <meta name="Robots" contect="信息參數"> Robots代表告訴搜索引擎機器人抓取哪些頁面 其中的屬性說明如下:
信息參數為all:文件將被檢索,且頁面上的鏈接可以被查詢;
信息參數為none:文件將不被檢索,且頁面上的鏈接不可以被查詢;
信息參數為index:文件將被檢索;
信息參數為follow:頁面上的鏈接可以被查詢;
信息參數為noindex:文件將不被檢索,但頁面上的鏈接可以被查詢;
信息參數為nofollow:文件將不被檢索,頁面上的鏈接可以被查詢。
15、META標簽的<meta http-equiv="windows-Target" contect="_top"> 代表頁面在當前窗口中以獨立頁面顯示,可以防止自己的網頁被別人當作一個frame頁調用,設置有:_blank、_top、_self、_parent。
16、META標簽的set-cookie <meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT"> 代表Cookie設定,如果網頁過期,存盤的cookie將被刪除,需要注意的也是必須使用GMT時間格式
5、文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html>的作用?
瀏覽器分為兩種模式,一種是嚴格模式,一種是混雜模式,這兩種模式就是是通過doctype的定義來區分,
什么是doctype,doctype是一種標準通用標記語言的文檔類型聲明,目的是告訴瀏覽器要使用什么樣的文檔類型定義(DTD)來解析文檔,doctype 最早是xml的概念,在xml中它的定義是通過一種特定的語法,作為一種元數據,來描述xml文檔中允許出現的元素,以及各元素的組成,規則等。
doctype在html中的作用是觸發瀏覽器的標準模式,如果html中省略了doctype,瀏覽器會進入到混雜模式的狀態也稱之為兼容模式,在這種模式下有些樣式,布局會和標準模式(或稱嚴格模式)存在差異,html標準,DOM標準只規定了標準模式下的行為,沒有對兼容模式做出規定,因此不同瀏覽器在兼容模式下的處理也是不同的,應用兼容模式比較困難,所以需要慎用。
在html4中 doctype有三種模式
嚴格模式:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/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">。
因為瀏覽器有容錯能力,實際上運用這三種模式并不十分嚴格,瀏覽器都能正確解析出用戶想要的結果,所以
在html5中doctype就簡化成了<!DOCTYPEhtml>。
6、瀏覽器亂碼的原因是什么?如何解決?
瀏覽器解析頁面時使用的編碼標準與網頁實際的編碼標準不一致就會導致亂碼,可能的原因有兩種:
1)網頁未聲明編碼標準,瀏覽器渲染時自動使用的編碼標準與文檔實際的編碼標準不一致。此時可以為網頁添加編碼聲明或在瀏覽器中手動指定正確的編碼標準。
2)網頁聲明了編碼標準,但是與實際使用的不一致,瀏覽器在渲染時采用網頁聲明的編碼設置,于是出現亂碼。只要將聲明的編碼標準更改成正確的就可以 了。
7、常見的瀏覽器有哪些,什么內核?
1)IE瀏覽器(Internet explorer)
IE瀏覽器是世界上使用最廣泛的瀏覽器,它由微軟公公司開發,預裝在windows操作系統中。所以我們裝完windows系統之后就會有IE瀏覽器。
IE瀏覽器使用Trident內核,又稱其為IE內核。Trident(又稱為MSHTML),是微軟開發的一種排版引擎。使用Trident渲染引擎的瀏覽器還包括:傲游、世界之窗瀏覽器、Avant、騰訊TT等
2)Safari瀏覽器
Safari瀏覽器由蘋果公司開發,它也是使用的比較廣泛的瀏覽器之一。Safari預裝在蘋果操作系統當中,從2003年首發測試以來到現在已經11個年頭。是蘋果系統的專屬瀏覽器,當然現在其他的操作系統也能裝Safari。
Safari使用WebKit內核,webkit 是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統,它的特點在于源碼結構清晰、渲染速度極快。缺點是對網頁代碼的兼容性不高,導致一些編寫不標準的網頁無法正常顯示。
Firefox瀏覽器
火狐瀏覽器是一個開源的瀏覽器,由Mozilla資金會和開源開發者一起開發。由于是開源的,所以它集成了很多小插件,開源拓展很多功能。發布于2002年,它也是世界上使用率前五的瀏覽器。
Mozilla Firefox使用Gecko內核,Gecko是一套開放源代碼的、以C++編寫的網頁排版引擎。Gecko是最流行的排版引擎之一,僅次于Trident。
Opera瀏覽器
opera瀏覽器是由挪威一家軟件公司開發,該瀏覽器創始于1995.目前其最新版本是opera 20.他有著快速小巧的特點,還有綠色版的,屬于輕靈的瀏覽器。
Opera使用Presto內核,Presto是由Opera Software開發的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。
Chrome瀏覽器
Chrome瀏覽器由谷歌公司開發,測試版本在2008年發布。雖說是比較年輕的瀏覽器,但是卻以良好的穩定性,快速,安全性獲得使用者的親睞。與Safari 一樣采用WebKit內核。
其他瀏覽器
現在很多國內瀏覽器,像360瀏覽器,獵豹瀏覽器,搜狗瀏覽器使用高速(webkit)和兼容(Trident)雙核瀏覽模式,保證良好兼容性的同時極大提升網頁瀏覽速度。當采用高速模式訪問網頁出現問題時,可點擊地址欄旁邊的內核按鈕直接切換內核,使用兼容性更佳的兼容模式正常瀏覽網頁。
8、列出常見的標簽,并簡單介紹這些標簽用在什么場景?
<html></html> 創建一個HTML文檔。
<head></head> 設置文檔標題和其它在網頁中不顯示的信息。
<title></title> 設置文檔的標題
<body></body> 元素定義文檔的主體,包含文檔的所有內容(比如文本、超鏈接、圖像、表格和列表等等。)
<h1></h1>到<h6></h6>描述標題的標簽,塊元素,從上到下字體依次減少。
<p> </p> paragraph的縮寫,描述的是段落,段中沒有間距,但是在段與段之間是有間距的,典型的塊元素。
<img src="圖片地址" alt="信息"/>)插入一張圖片,alt 定義當圖片無法加載時,顯示什么信息。
<a> </a>鏈接標簽,例<a href="URL"></a><a>有比較重要的屬性有兩個,分別是href、target,href指定超鏈接地址;target指定打開方式:_blank 新頁面打開,_self 為默認值可不寫,指在當前頁面打開。
<table>標簽定義表格,用戶注冊登錄時會用到。
<ul> <li>html列表標簽,<ul>表示有序列表。
<ol> <li>html列表標簽,<ol>表示無序列表。
<dl> <dt> <dd>內容塊標簽,dl:內容塊,dt:內容塊的標題,dd:內容。
<button> 定義一個點擊按鈕
<strong></strong> 加重文本,通常為黑體。
<em></em> 強調文本通常為斜體。
<!-- comment -->html注釋并不會顯示在網頁上,提高可讀性,便于維護。
<br /> 單標簽,輸出換行。