html 超文本標(biāo)記語言,是網(wǎng)頁之骨敦姻。
結(jié)構(gòu)樣式行為分離
html只寫結(jié)構(gòu)瘾境,css只寫樣式,js只寫行為镰惦。誰也不要過界就是結(jié)構(gòu)樣式分離迷守。
這樣寫代碼,代碼職能清晰
有利于后期的運(yùn)營和維護(hù)旺入,變哪改哪就好盒犹,功能改變不用全部推倒重來。
HTML語義化
HTML語義化就是在寫html代碼時(shí)眨业,盡量使用header/nav等帶有語義信息的標(biāo)簽,讓每個(gè)標(biāo)簽做它該做的事沮协。
方便其他人或機(jī)器識(shí)別閱讀龄捡、理解開發(fā)者意圖和查找數(shù)據(jù)。
最終降低多人合作開發(fā)的時(shí)間成本慷暂,提高搜索引擎準(zhǔn)確度聘殖,利于seo。
常見meta標(biāo)簽
真的很常見行瑞,看看吧
<meta charset='xxx'>
告訴瀏覽器奸腺,我這個(gè)頁面的代碼是用的xxx編碼方式。(用xxx來解碼)
<meta http-equiv='參數(shù)' content='參數(shù)變量值'>
瀏覽器讀到這些代碼時(shí)血久,可以得到一些頁面信息突照,更好的顯示網(wǎng)頁內(nèi)容。
- meta http-equiv='expires' content='時(shí)間' :【expires期限】氧吐,告訴瀏覽器到了某個(gè)時(shí)間就重新傳輸一次頁面讹蘑。
- meta http-equic='refresh' content='數(shù)字;url=一個(gè)網(wǎng)址' :【refresh刷新】,告訴瀏覽器在【數(shù)字】秒后跳轉(zhuǎn)到【一個(gè)網(wǎng)址】
- meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1' :強(qiáng)制瀏覽器按照特定的版本標(biāo)準(zhǔn)進(jìn)行渲染筑舅。但不支持IE7及以下版本座慰。如果是ie瀏覽器就用最新的ie渲染,如果是雙核瀏覽器就用chrome內(nèi)核翠拣。
<meta name='參數(shù)' content='具體的參數(shù)值'>
主要用于描述網(wǎng)頁版仔,更便于搜索機(jī)器人讀取代碼。
- meta name='viewport' content='width=xxx等等' :讓移動(dòng)端能夠以更合理的比例顯示網(wǎng)頁
- meta name='keywords' content='xxxx' :告訴搜索引擎,當(dāng)前頁面的關(guān)鍵字是xxxx
- meta name='dscription' content='xxx' :告訴搜索引擎蛮粮,當(dāng)前頁面的主要內(nèi)容是xxx
文檔聲明的作用
<!DOCYTYPE html>告訴瀏覽器益缎,用html5的方式去解讀代碼;
告訴瀏覽器使用標(biāo)準(zhǔn)模式蝉揍;
如果沒有文檔聲明链峭,瀏覽器可能會(huì)使用混雜模式,各種奇葩又沾,不要用弊仪。
瀏覽器亂碼問題
原因:代碼的編碼保存方式和瀏覽器的解碼方式不同。
為什么會(huì)這樣呢杖刷?
在代碼里励饵,有一行<meta charset='utf-8'>這句代碼的意思是告訴瀏覽器,我的代碼使用utf-8的編碼方式滑燃,你用utf-8解碼就好了役听;
但是如果把代碼里的utf-8換成別的(比如gbk),同時(shí)代碼保存的時(shí)候仍然選擇utf-8表窘,那么瀏覽器就會(huì)被欺騙典予,瀏覽器讀到這句代碼時(shí)就會(huì)選擇使用gbk的解碼方式來解碼,gbk的解碼時(shí)不可能和實(shí)際保存的utf-8匹配上的乐严,那么就會(huì)出現(xiàn)亂碼瘤袖。
解決辦法:代碼里用meta charset='utf-8'聲明好,保存的時(shí)候也選utf-8昂验,不要瞎寫就可以了捂敌。
<html lang='zh'>里的lang='xx'什么意思
這是告訴瀏覽器,我這個(gè)頁面使用的是中文(zh)既琴,這樣的話外國網(wǎng)友的瀏覽器就會(huì)發(fā)現(xiàn)瀏覽器使用語言和頁面內(nèi)容語言不同占婉,或許可以提供翻譯功能(如果有的話)。