1、HTML、XML、XHTML 有什么區別
HTML 超文本編輯語言 語法比較松散,不嚴謹,少出現報錯。
XML 可擴展標記語言 主要運用于存儲數據和結構參考。XML僅僅是純文本,標簽沒有被預定義,需要自行去定義標簽。
XHTML 可擴展超文本標記語言 可以理解為更嚴格的HTML,基于XML,作用與HTML類似。只是比HTML更加嚴謹。
2、怎樣理解 HTML 語義化
語義化HTML是一種編寫HTML的方式。
根據內容的結構化(內容語義化),選擇合適的標簽(代碼語義化)便于開發者閱讀和寫出更優雅的代碼的同時讓瀏覽器的爬蟲和機器很好地解析。
語義化的意義:
- 為了在沒有CSS的情況下,頁面也能呈現出很好地內容結構,這樣不至于在沒有樣式的情況下使瀏覽者無法閱讀。
- 用戶體驗:例如title、alt用于解釋名詞或解釋圖片信息、label標簽的活用。
- 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重。
- 方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁。
- 便于團隊開發和維護,語義化更具可讀性,是下一步把網頁的重要動向,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。
3、怎樣理解內容與樣式分離的原則
寫HTML時候先把結構和內容寫出來,可以先不用去寫樣式。寫JS的時候,盡量不要用JS直接去操作樣式,而是通過給元素添加class來控制樣式變化。HTML內不允許出現屬性樣式,盡量不要出現行內樣式。
- HTML是內容,負責頁面的結構和語義。
- CSS是樣式,主要負責美化頁面,原則上CSS樣式代碼盡量寫在.css文件中,由.html文件調用使用。
- JS是實現頁面功能,主要負責頁面的交互效果和數據處理。
4、有哪些常見的meta標簽
<meta charset='utf-8'>
聲明網頁字符的編碼
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
聲明文檔兼容模式,告訴IE用當前最高模式渲染頁面
<meta name="keywords" content="your tags" />
頁面關鍵字
<meta name="description" content="150 words" />
頁面描述
<meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
為移動設備添加viewport
<meta name="robots" content="index,follow"/>
搜索引擎抓取
5、文檔聲明的作用?嚴格模式和混雜模式指什么? <!doctype html> 的作用?
作用:為每個 HTML 頁面的第一行添加標準模式(standard mode)的聲明,這樣能夠確保在每個瀏覽器中擁有一致的展現,避免瀏覽器的怪異模式。
document.compatMode:
BackCompat:怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。
CSS1Compat:標準模式,瀏覽器使用W3C的標準解析渲染頁面。
這個屬性會被瀏覽器識別并使用,但是如果你的頁面沒有DOCTYPE的聲明,那么compatMode默認就是BackCompat,這也就是惡魔的開始 -- 瀏覽器按照自己的方式解析渲染頁面,那么,在不同的瀏覽器就會顯示不同的樣式。 如果你的頁面添加了<!DOCTYPE html>那么,那么就等同于開啟了標準模式,那么瀏覽器就得老老實實的按照W3C的標準解析渲染頁面,這樣一來,你的頁面在所有的瀏覽器里顯示的就都是一個樣子了。這就是<!DOCTYPE html>的作用。
6、瀏覽器亂碼的原因是什么?如何解決
網頁亂碼如何產生的呢?下面這個流程是我們寫入文件到展示文件的簡單描述:
我們使用編輯器編寫 HTML 文件
保存編寫的HTML文件
使用瀏覽器打開HTML文件
HTML文件在瀏覽器展示
亂碼產生的根源就在與第2步驟和第4步。
在第2步保持文件時會把我們寫入的文字使用編輯器默認的編碼方式進行保存。如果大家使用的是vscode編輯器,默認的編碼方式是utf-8。
在第4步瀏覽器打開網頁時,它并不知道你的這個文件是使用什么編碼方式,于是自作主張使用了默認解碼方式。如下圖所示,文件保存為GBK格式,在Chrome打開時默認使用 ISO -8859的解碼方式,導致編碼和解碼不匹配,產生亂碼。
那如何規避這個問題呢?即如何通知瀏覽器用什么方式解碼呢?
首頁,在文件保存的時候你自己要清楚是用哪種編碼方式保存的。如果你的文件是保存為utf-8格式,那么一定要在html 的 <head>
里添加<meta charset="utf-8">
,這句話的意思是告訴瀏覽器在打開這個頁面的時候不要去猜了,直接用utf-8去解碼。 同理,如果你的文件保存為gbk格式,一定在文件里添加<meta charset="gbk">
。
7、常見的瀏覽器有哪些,什么內核
一、Trident內核代表產品Internet Explorer,又稱其為IE內核。Trident(又稱為MSHTML),是微軟開發的一種排版引擎。使用Trident渲染引擎的瀏覽器包括:IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
二、Gecko內核代表作品Mozilla FirefoxGecko是一套開放源代碼的、以C++編寫的網頁排版引擎。Gecko是最流行的排版引擎之一,僅次于Trident。使用它的最著名瀏覽器有Firefox、Netscape6至9。
三、WebKit內核代表作品Safari、Chromewebkit 是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統,它的特點在于源碼結構清晰、渲染速度極快。缺點是對網頁代碼的兼容性不高,導致一些編寫不標準的網頁無法正常顯示。主要代表作品有Safari和Google的瀏覽器Chrome。
四、Presto內核代表作品OperaPresto是由Opera Software開發的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態功能,例如網頁或其部分可隨著DOM及Script語法的事件而重新排版。
8、列出常見的標簽,并簡單介紹這些標簽用在什么場景
<div> 塊級元素,常用于布局等
<h1>~<h6> 一級標題~六級標題
<p> 段落
換行 <a>超鏈接 <ul><li>無序列表 <ol><li>有序列表 <table>表格