1识脆、什么是HTML设联?HTML、XML灼捂、XHTML 有什么區(qū)別离例?
HTML 是用來描述網(wǎng)頁的一種語言。
- HTML 指的是超文本標記語言 (Hyper Text Markup Language)
- HTML 不是一種編程語言悉稠,而是一種標記語言 (markup language)
- 標記語言是一套標記標簽 (markup tag)
- HTML 使用標記標簽來描述網(wǎng)頁
HTML 文檔 = 網(wǎng)頁
- HTML 文檔描述網(wǎng)頁
- HTML 文檔包含 HTML 標簽和純文本
- HTML 文檔也被稱為網(wǎng)頁
Web 瀏覽器的作用是讀取 HTML 文檔宫蛆,并以網(wǎng)頁的形式顯示出它們。瀏覽器不會顯示 HTML 標簽的猛,而是使用標簽來解釋頁面的內(nèi)容耀盗。
HTML是超文本標記語言(Hyper Text Markup Language),是最早寫網(wǎng)頁的語言卦尊,但是由于時間早叛拷,規(guī)范不是很好,大小寫混寫岂却、編碼不規(guī)范而且很多地方模糊不清忿薇。
實際上裙椭,網(wǎng)頁的終極標記語言應該是XML(Extensible Markup Language),可擴展標記語言署浩。XML是一種跨平臺語言揉燃,編碼更自由,可以自由創(chuàng)建標簽筋栋。但XML結構復雜炊汤,語法嚴謹,學習起來相對現(xiàn)行的HTML也比較困難弊攘,尤其在早期標準不統(tǒng)一的年代抢腐,XML沒法立即鋪開。
于是襟交,W3C想出一個折衷的辦法氓栈,就是XHTML(Extensible Hyper Text Markup Language),可擴展超文本標記語婿着,擴展的HTML。也就是適當?shù)卮捉纭⒅鸩降叵騂TML加入XML的標準竟宋。XHTML即是升級版的HTML,對HTML進行了規(guī)范,編碼更加嚴謹純潔形纺,是一種過渡語言丘侠,HTML向XML過渡的語言。
2逐样、怎樣理解 HTML 語義化蜗字。
語義化是指根據(jù)內(nèi)容的結構化(內(nèi)容語義化),選擇合適的標簽(代碼語義化)脂新,便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時挪捕,讓瀏覽器的爬蟲和機器很好的解析。
語義化的優(yōu)點:
有利于SEO争便,有助于爬蟲抓取更多的有效信息级零,爬蟲是依賴于標簽來確定上下文和各個關鍵字的權重。
語義化的HTML在沒有CSS的情況下也能呈現(xiàn)較好的內(nèi)容結構與代碼結構
方便其他設備的解析
便于團隊開發(fā)和維護
若想要做到html語義化滞乙,則網(wǎng)頁的開發(fā)者應該要做到熟悉所有規(guī)范的HTML標簽的使用場景奏纪,在合適的地方使用合適的標簽。如:
盡量少用<div>和<span>這兩個標簽斩启,因為代碼中使用的標簽<div>和<span>是在所有的HTML標簽中最沒有語義的序调,在使用這兩個標簽時盡量能找到更有語義的標簽代替;
和標簽語義化的重要性一樣兔簇,某些屬性的設置也是HTML語義化重要的環(huán)節(jié)发绢。例如硬耍,在img標簽中,alt是必須要設置的屬性朴摊,因為img是自閉合標簽默垄,并沒有包含可以解釋說明圖片的額外信息。alt屬性的文字說明是當圖片在瀏覽器中未加載時的顯示的代替甚纲。
3口锭、怎樣理解內(nèi)容與樣式分離的原則。
一個網(wǎng)頁可以簡單的分為三個部分:HTML——結構介杆,CSS——表現(xiàn)鹃操,JavaScrip——行為。內(nèi)容和樣式的分離春哨,就是指在網(wǎng)頁編碼的過程中荆隘,要將HTML和CSS兩大部分分開。寫HTML的時候先不管樣式赴背,重點放在HTML的結構和語義化上椰拒,讓HTML能體現(xiàn)頁面結構和內(nèi)容;然后進行 CSS 樣式的編寫凰荚,減少 HTML 與 CSS 契合度(即內(nèi)容與樣式分離) 燃观;寫JS的時候,盡量不要用JS去直接操作樣式便瑟,而是通過給元素添加刪除class來控制樣式變化(即行為分離)缆毁。
樣式與結構分離的優(yōu)點:
瀏覽器加載網(wǎng)頁頁面速度變快。分離原則下到涂,頁面樣式的代碼寫在了CSS當中脊框,頁面體積容量變得更小。
修改網(wǎng)頁樣式時践啄,更有效率浇雹、更省時間。根據(jù)html標簽內(nèi)ID或class的標記屿讽,到CSS里找到相應的ID或class箫爷,可以快速替換指定位置的樣式,不會破壞頁面架構和其他部分的樣式聂儒。
可以確保網(wǎng)頁都能平穩(wěn)退化虎锚。具備CSS支持的瀏覽器固然可以把網(wǎng)頁呈現(xiàn)的美輪美奐,不支持或禁用了CSS功能的瀏覽器同樣可以把網(wǎng)頁的內(nèi)容按照正確的內(nèi)容結構顯示出來衩婚。
4窜护、文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
文檔聲明的作用是告知瀏覽器頁面使用的HTML版本;嚴格模式又叫標準模式非春,使頁面按照 HTML 與 CSS 的定義渲染柱徙』和溃混雜模式,又叫怪異模式护侮,以比較寬松的向后兼容的方式呈現(xiàn)敌完,模擬老式瀏覽器以兼容老的站點;<!doctype html> 的作用是告訴瀏覽器開啟標準模式羊初,開啟標準模式后瀏覽器就得老老實實的按照W3C的 標準解析渲染頁面滨溉,這樣一來,你的頁面在所有的瀏覽器里顯示的就都是一個樣子了长赞。
5晦攒、瀏覽器亂碼的原因是什么?如何解決
通用的編碼方式:
ASCII得哆,全稱美國標準信息交換代碼(American Standard Code for Information Interchange)的縮寫, 針對英語設計脯颜。
utf-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼贩据《安伲可用于顯示中文簡體繁體及其它語言(如英文,日文饱亮,韓文)讼庇。
GBK,中國制定的一套漢字編碼規(guī)則近尚,用2個字節(jié)來表示一個漢字,總共可以覆蓋2萬多個文字场勤。
ISOLatin-1戈锻,由于ASCII字符集不包括德、法語中的特殊拉丁字符和媳,因此歐洲人發(fā)明了ISO 8859-1Latin 1格遭,簡稱為ISOLatin-1。它對ASCII做了個擴充留瞳,涵蓋拉丁字母表中特殊語言字符拒迅。
亂碼原因:使用編輯器編寫 HTML 文件,保存編寫的HTML文件她倘,會按照使用的編輯器默認的編碼方式進行保存璧微,使用瀏覽器打開HTML文件。在沒有聲明的情況下硬梁,瀏覽器并不知道你的這個文件是使用什么編碼方式前硫,于是會使用了默認解碼方式。例如文件保存為GBK格式荧止,在Chrome打開時默認使用 ISO -8859的解碼方式屹电,就會導致編碼和解碼不匹配阶剑,產(chǎn)生亂碼。
??解決方法:在文件保存的時候危号,自己要清楚是用哪種編碼方式保存的(sublime默認保存方式是utf-8,安裝了GBK Encoding support插件也可另存為gbk)牧愁。如果你的文件是保存為utf-8格式,在html 的 <head>里添加<meta charset="utf-8">外莲;如果你的文件保存為gbk格式猪半,一定在文件里添加<meta charset="gbk">,對瀏覽器進行說明苍狰,直接按照聲明的編碼方式進行解析讀取办龄,就不會有亂碼問題。
6淋昭、有哪些常見的meta標簽俐填。
<meta charset="utf-8">
編碼方式
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
雙核瀏覽器
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
用于移動端的展示合理
<meta name="keywords" content="前端 饑人谷">??網(wǎng)頁關鍵字,利于搜索
<meta name="description" content="最有愛的前端學習社區(qū)">
搜索引擎優(yōu)化
<meta name="keywords" content="">
向搜索引擎說明你的網(wǎng)頁的關鍵詞
<meta name="description" content="">
告訴搜索引擎你的站點的主要內(nèi)容
<meta name="author" content="你的姓名">
告訴搜索引擎你的站點的制作的作者
<meta http-equiv="Content-Type" content="text/html";charset=utf-8">
指定字符集
<meta http-equiv="refresh" content="n;url=">
定時讓網(wǎng)頁在指定的時間n內(nèi)跳轉
<meta http-equiv="pragma" content="no-cache">
禁用緩存
<meta http-equiv="set-cookie" content="Mon,12 May 2001 00:20:00 GMT">
cookie設定翔忽,如果網(wǎng)頁過期英融,存盤的cookie將被刪除。需要注意的也是必須使用GMT時間格式
7.常見的瀏覽器有哪些歇式,什么內(nèi)核
瀏覽器 | 內(nèi)核 |
---|---|
Internet Explorer | IE內(nèi)核 |
Firefox | Gecko |
Opear | Presto |
Safair&Chromr | Webkit |
國內(nèi)大部分瀏覽器 | IE內(nèi)核 |