Html面試的一些常見問題成榜?

HTML、XML蹦玫、XHTML 有什么區(qū)別赎婚?

  • HTML:超文本標(biāo)記語言,是語法較為松散的樱溉、不嚴(yán)格的Web語言挣输;
  • XML:可擴展的標(biāo)記語言,主要用于存儲數(shù)據(jù)和結(jié)構(gòu)福贞,可擴展撩嚼;
  • XHTML:可擴展的超文本標(biāo)記語言,基于XML挖帘,作用與HTML類似完丽,但語法更嚴(yán)格。

怎樣理解 HTML 語義化拇舀?

HTML語義化是什么

語義化是指根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化)逻族,選擇合適的標(biāo)簽(代碼語義化),便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時骄崩,讓瀏覽器的爬蟲和機器很好的解析聘鳞。

語義化的HTML怎么寫

HTML是一種對文本內(nèi)容進行結(jié)構(gòu)和意義(或者說“語義”)進行補充的方法薄辅。它會告訴我們說:“這行是一個標(biāo)題,這幾行組成了一個段落搁痛。這些文字是項目列表长搀,這些文字是鏈接到互聯(lián)網(wǎng)上另一個文件的超鏈接〖Φ洌”值得注意的是源请,不應(yīng)該讓HTML來告訴我們:“這些文字是藍色的,這些文字又是紅色的彻况。這部分內(nèi)容是最最靠右的一欄谁尸,這行內(nèi)容是斜體字∨Ω剩”這些和表現(xiàn)相關(guān)的信息是CSS的工作良蛮。在做前端開發(fā)的時候要記住:HTML告訴我們一塊內(nèi)容是什么(或其意義)悍赢,而不是它長的什么樣子决瞳。當(dāng)我們提到“語義標(biāo)記”的時候,我們所說的HTML應(yīng)該是完全脫離表現(xiàn)信息的左权,其中的標(biāo)簽應(yīng)該都是語義化地定義了文檔的結(jié)構(gòu)皮胡。
寫語義化的HTML結(jié)構(gòu)其實很簡單,首先掌握html中各個標(biāo)簽的語義赏迟,div是一個容器屡贺;strong表示強調(diào);ul li是一個無序列表等等…在看到內(nèi)容的時候想想用什么標(biāo)簽?zāi)芨玫拿枋鏊可保鞘裁淳陀檬裁礃?biāo)簽甩栈。

HTML語義化的好處

我們知道HTML5新增的標(biāo)簽,比如<header>糕再、<aritile>量没、<aside>、<footer>等突想,html正在朝著更加健壯的語義化的HTML結(jié)構(gòu)發(fā)展殴蹄,xhtml2在這點上沒html5先進,這也是xhtml2死亡的一個原因蒿柳,這一點也說明了語義化的HTML結(jié)構(gòu)是html的發(fā)展趨勢饶套。

  • 去掉或樣式丟失的時候能讓頁面呈現(xiàn)清晰的結(jié)構(gòu)
  • 屏幕閱讀器(如果訪客有視障)會完全根據(jù)你的標(biāo)記來“讀”你的網(wǎng)頁
  • PDA漩蟆、手機等設(shè)備可能無法像普通電腦的瀏覽器一樣來渲染網(wǎng)頁(通常是因為這些設(shè)備對CSS的支持較弱).使用語義標(biāo)記可以確保這些設(shè)備以一種有意義的方式來渲染網(wǎng)頁.理想情況下,觀看設(shè)備的任務(wù)是符合設(shè)備本身的條件來渲染網(wǎng)頁.
  • 搜索引擎的爬蟲也依賴于標(biāo)記來確定上下文和各個關(guān)鍵字的權(quán)重.
  • 你的頁面是否對爬蟲容易理解非常重要,因為爬蟲很大程度上會忽略用于表現(xiàn)的標(biāo)記,而只注重語義標(biāo)記.
  • 便于團隊開發(fā)和維護

怎樣理解內(nèi)容與樣式分離的原則

網(wǎng)頁分離

一個網(wǎng)頁分為三個部分:Html——結(jié)構(gòu)垒探,css——表現(xiàn),javascrip——行為怠李。內(nèi)容也就是html圾叼,樣式也就是css蛤克。所以內(nèi)容和樣式的分離,就是指在網(wǎng)頁編碼的過程中夷蚊,要將html和css兩大部分分開构挤。

如何做到分離

內(nèi)容與樣式分離的原則的實現(xiàn),一個是要依靠意識惕鼓,另一個是依靠經(jīng)驗筋现。
舉例而言,面對一個分塊明顯的網(wǎng)頁設(shè)計圖時:

  • 初級的開發(fā)人員思路及制作方法:div 層層嵌套箱歧;
  • 中級的開發(fā)人員思路及制造方法:去掉多余的 div ,進行簡化矾飞;
  • 高級的開發(fā)人員思路及制造方法:最大化的簡化 html 的結(jié)構(gòu),然后用 css 進行設(shè)置呀邢,減少 html 與 css 的契合度洒沦。
    正確做法是寫HTML的時候先不管樣式,重點放在HTML的結(jié)構(gòu)和語義化上价淌,讓HTML能提現(xiàn)頁面結(jié)構(gòu)或者內(nèi)容,申眼,然后進行 css 樣式設(shè)置,減少 HTML 與 CSS 契合度(即內(nèi)容與樣式分離) 蝉衣,寫JS的時候括尸,盡量不要用JS去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化(即行為分離)买乃。

分離的優(yōu)點

  • 瀏覽器加載網(wǎng)頁頁面速度變快姻氨。分離原則下,大部分頁面代碼寫在了CSS當(dāng)中剪验,頁面體積容量變得更小肴焊。
  • 網(wǎng)頁修改設(shè)計時,效率功戚、省時娶眷。根據(jù)html標(biāo)簽內(nèi)ID或class的標(biāo)記,到CSS里找到相應(yīng)的ID或class啸臀,可以快速替換指定位置的樣式届宠,不會破壞頁面架構(gòu)和其他部分的樣式。典型的應(yīng)用就是網(wǎng)頁換膚乘粒,使用相同的 html 結(jié)構(gòu)豌注,不同的 css 樣式。
  • 更好地被搜索引擎收錄灯萍≡基于內(nèi)容與樣式分離的原則,html的語義化就是首要考慮的,網(wǎng)頁中語義化的標(biāo)簽代碼就會更加適合搜索引擎旦棉。
  • css樣式的分離齿风,它可以根據(jù)不同的瀏覽器药薯,達到顯示效果的統(tǒng)一。保證網(wǎng)頁架構(gòu)不變形的前提下救斑,放心在不同瀏覽器渲染顯示樣式童本。

有哪些常見的meta標(biāo)簽?

meta標(biāo)簽共有兩個屬性脸候,分別是http-equiv屬性和name屬性穷娱。

  1. name屬性
    name屬性主要用于描述網(wǎng)頁,比如網(wǎng)頁的關(guān)鍵詞运沦,敘述等鄙煤。與之對應(yīng)的屬性值為content,content中的內(nèi)容是對name填入類型的具體描述茶袒,便于搜索引擎抓取梯刚。meta標(biāo)簽中name屬性語法格式是:
<meta name="參數(shù)" content="具體的描述">。
  • keywords(關(guān)鍵字)

說明:用于告訴搜索引擎薪寓,你網(wǎng)頁的關(guān)鍵字亡资。舉例:

<meta name="keywords" content="軟件,開發(fā)">
  • description(網(wǎng)站內(nèi)容的描述)

說明:用于告訴搜索引擎向叉,你網(wǎng)站的主要內(nèi)容锥腻。舉例:

<meta name="description" content="財務(wù)軟件,外貿(mào)軟件">
  • viewport(移動端的窗口)

說明:這個屬性常用于設(shè)計移動端網(wǎng)頁母谎。在用bootstrap,AmazeUI等框架時候都有用過viewport瘦黑。

舉例(常用范例):

<meta name="viewport" content="width=device-width, initial-scale=1">
  1. http-equiv屬性

http-equiv顧名思義,相當(dāng)于http的文件頭作用奇唤。

meta標(biāo)簽中http-equiv屬性語法格式是:

<meta http-equiv="參數(shù)" content="具體的描述">
  • content-Type(設(shè)定網(wǎng)頁字符集)(推薦使用HTML5的方式)

說明:用于設(shè)定網(wǎng)頁字符集幸斥,便于瀏覽器解析與渲染頁面舉例:

<meta http-equiv="content-Type" content="text/html;charset=utf-8">  //舊的HTML,不推薦

<meta charset="utf-8"> //HTML5設(shè)定網(wǎng)頁字符集的方式咬扇,推薦使用UTF-8

  • X-UA-Compatible(瀏覽器采取何種版本渲染當(dāng)前頁面)

說明:用于告知瀏覽器以何種版本來渲染頁面甲葬。(一般都設(shè)置為最新模式,在各大框架中這個設(shè)置也很常見懈贺。)舉例:


<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新
版本渲染當(dāng)前頁面

文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?

文檔聲明的作用

文檔聲明是為了告訴瀏覽器经窖,你的 HTML 文檔是用的什么版本的 HTML 來寫的,這樣瀏覽器才能按照你聲明的版本來正確的解析你的 HTML 文檔梭灿。

嚴(yán)格模式和混雜模式

  • 嚴(yán)格模式(推薦)現(xiàn)在也稱為標(biāo)準(zhǔn)模式画侣,在該模式下,瀏覽器會嚴(yán)格按照 HTML 和 CSS 標(biāo)準(zhǔn)來解析堡妒、渲染你的文檔配乱。
  • 混雜模式(不推薦)的由來是一個歷史問題。在互聯(lián)網(wǎng)早期,網(wǎng)頁一般寫成兩個版本:一個寫給網(wǎng)景公司的 Navigator瀏覽器宪卿,一個寫給微軟公司的IE瀏覽器。當(dāng)W3C制定了 Web 標(biāo)準(zhǔn)后万栅,這兩個瀏覽器不能馬上開始按標(biāo)準(zhǔn)來解析渲染頁面佑钾,因為這樣會破壞當(dāng)時大部分頁面的顯示效果。所以各瀏覽器就引入了混雜模式烦粒,在該模式下休溶,瀏覽器會模擬Navigator 4和IE5的非標(biāo)準(zhǔn)行為來解析渲染頁面,這樣做就是為了兼容在W3C標(biāo)準(zhǔn)出現(xiàn)之前就存在的那些“不標(biāo)準(zhǔn)”的頁面扰她。

<!doctype html> 的作用

<!doctype html> 的作用就是讓瀏覽器進入標(biāo)準(zhǔn)模式兽掰,使用最新的 HTML5標(biāo)準(zhǔn)來解析渲染頁面;如果不寫徒役,瀏覽器就會進入混雜模式孽尽,而這是我們要避免的。

瀏覽器亂碼的原因是什么忧勿?如何解決

產(chǎn)生亂碼的原因是:

1杉女、比如網(wǎng)頁源代碼是gbk的編碼,而內(nèi)容中的中文字是utf-8編碼的鸳吸,這樣瀏覽器打開即會出現(xiàn)html亂碼熏挎。反之網(wǎng)頁是編碼utf-8,內(nèi)容是gbk也會出現(xiàn)亂碼晌砾。
2坎拐、html網(wǎng)頁編碼是gbk,而程序從數(shù)據(jù)庫中調(diào)出呈現(xiàn)是utf-8編碼的內(nèi)容也會造成編碼亂碼养匈。
3哼勇、瀏覽器不能自動檢測網(wǎng)頁編碼,造成網(wǎng)頁亂碼呕乎。

解決方法:

1猴蹂、使用軟件進行編輯HTML網(wǎng)頁內(nèi)容
2、如果網(wǎng)頁設(shè)置編碼是gbk的楣嘁,而數(shù)據(jù)庫儲存數(shù)據(jù)編碼格式是UTF-8的磅轻,這個時候程序查詢數(shù)據(jù)庫數(shù)據(jù)顯示數(shù)據(jù)前進程序轉(zhuǎn)碼即可。
3逐虚、如果瀏覽器瀏覽時候出現(xiàn)網(wǎng)頁亂碼聋溜,在瀏覽器中找到轉(zhuǎn)換編碼的菜單進行轉(zhuǎn)換。

常見的瀏覽器有哪些叭爱,什么內(nèi)核撮躁?

1、Trident內(nèi)核代表產(chǎn)品Internet Explorer买雾,又稱其為IE內(nèi)核把曼。Trident(又稱為MSHTML)杨帽,是微軟開發(fā)的一種排版引擎。使用Trident渲染引擎的瀏覽器包括:IE嗤军、傲游注盈、世界之窗瀏覽器、Avant叙赚、騰訊TT老客、Netscape 8、NetCaptor震叮、Sleipnir胧砰、GOSURF、GreenBrowser和KKman等苇瓣。
2尉间、Gecko內(nèi)核代表作品Mozilla FirefoxGecko是一套開放源代碼的、以C++編寫的網(wǎng)頁排版引擎击罪。Gecko是最流行的排版引擎之一乌妒,僅次于Trident。使用它的最著名瀏覽器有Firefox外邓、Netscape6至9撤蚊。
3、WebKit內(nèi)核代表作品Safari损话、Chromewebkit 是一個開源項目侦啸,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統(tǒng)丧枪,它的特點在于源碼結(jié)構(gòu)清晰光涂、渲染速度極快。缺點是對網(wǎng)頁代碼的兼容性不高拧烦,導(dǎo)致一些編寫不標(biāo)準(zhǔn)的網(wǎng)頁無法正常顯示忘闻。主要代表作品有Safari和Google的瀏覽器Chrome。
4恋博、Presto內(nèi)核代表作品OperaPresto是由Opera Software開發(fā)的瀏覽器排版引擎齐佳,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎债沮,包括加入動態(tài)功能炼吴,例如網(wǎng)頁或其部分可隨著DOM及Script語法的事件而重新排版。

列出常見的標(biāo)簽疫衩,并簡單介紹這些標(biāo)簽用在什么場景硅蹦?

  • div 塊級元素
  • h1-h6 定義標(biāo)題
  • p 定義一段文字
  • ul li 無序列表
  • ol li 有序列表
  • dl dd dt 用于展示一系列“標(biāo)題:內(nèi)容”的場景
  • img 用于插入圖片
  • a 超鏈接
  • strong 加粗 語義強
  • em 斜體
  • del 刪除線
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子童芹,更是在濱河造成了極大的恐慌涮瞻,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件假褪,死亡現(xiàn)場離奇詭異署咽,居然都是意外死亡,警方通過查閱死者的電腦和手機嗜价,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幕庐,“玉大人久锥,你說我怎么就攤上這事∫彀” “怎么了瑟由?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冤寿。 經(jīng)常有香客問我歹苦,道長,這世上最難降的妖魔是什么督怜? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任殴瘦,我火速辦了婚禮,結(jié)果婚禮上号杠,老公的妹妹穿的比我還像新娘蚪腋。我一直安慰自己,他們只是感情好姨蟋,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布屉凯。 她就那樣靜靜地躺著,像睡著了一般眼溶。 火紅的嫁衣襯著肌膚如雪悠砚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天堂飞,我揣著相機與錄音灌旧,去河邊找鬼。 笑死绰筛,一個胖子當(dāng)著我的面吹牛节榜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播别智,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼宗苍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讳窟,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤让歼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丽啡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谋右,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年补箍,在試婚紗的時候發(fā)現(xiàn)自己被綠了改执。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡坑雅,死狀恐怖辈挂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裹粤,我是刑警寧澤终蒂,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站遥诉,受9級特大地震影響拇泣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜矮锈,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一霉翔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧苞笨,春花似錦早龟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猜丹,卻和暖如春芝加,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背射窒。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工藏杖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脉顿。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓蝌麸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親艾疟。 傳聞我的和親對象是個殘疾皇子来吩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案敢辩? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,756評論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過弟疆?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,220評論 0 8
  • 源自SeeYouBug博客 地址為:http://www.cnblogs.com/SeeYouBug 一戚长、HTML...
    欲淚成雪閱讀 1,231評論 0 15
  • 1. 瀏覽器頁面有哪三層構(gòu)成,分別是什么怠苔,作用是什么? 構(gòu)成:結(jié)構(gòu)層同廉、表示層、行為層分別是:HTML柑司、CSS迫肖、Ja...
    程序猿人王小賤閱讀 1,876評論 1 11
  • 現(xiàn)在是凌晨一點過蟆湖,大哥早就在身邊睡著,然而在看了一集歡樂頌后我還沒有睡意讼育,好像每次都是這樣帐姻,和大哥在一起的時候總...
    Hey你好啊閱讀 244評論 0 0