html 超文本标记语言,是网页之骨。
结构样式行为分离
html只写结构,css只写样式,js只写行为。谁也不要过界就是结构样式分离。
这样写代码,代码职能清晰
有利于后期的运营和维护,变哪改哪就好,功能改变不用全部推倒重来。
HTML语义化
HTML语义化就是在写html代码时,尽量使用header/nav等带有语义信息的标签,让每个标签做它该做的事。
方便其他人或机器识别阅读、理解开发者意图和查找数据。
最终降低多人合作开发的时间成本,提高搜索引擎准确度,利于seo。
常见meta标签
真的很常见,看看吧
<meta charset='xxx'>
告诉浏览器,我这个页面的代码是用的xxx编码方式。(用xxx来解码)
<meta http-equiv='参数' content='参数变量值'>
浏览器读到这些代码时,可以得到一些页面信息,更好的显示网页内容。
- meta http-equiv='expires' content='时间' :【expires期限】,告诉浏览器到了某个时间就重新传输一次页面。
- meta http-equic='refresh' content='数字;url=一个网址' :【refresh刷新】,告诉浏览器在【数字】秒后跳转到【一个网址】
- meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1' :强制浏览器按照特定的版本标准进行渲染。但不支持IE7及以下版本。如果是ie浏览器就用最新的ie渲染,如果是双核浏览器就用chrome内核。
<meta name='参数' content='具体的参数值'>
主要用于描述网页,更便于搜索机器人读取代码。
- meta name='viewport' content='width=xxx等等' :让移动端能够以更合理的比例显示网页
- meta name='keywords' content='xxxx' :告诉搜索引擎,当前页面的关键字是xxxx
- meta name='dscription' content='xxx' :告诉搜索引擎,当前页面的主要内容是xxx
文档声明的作用
<!DOCYTYPE html>告诉浏览器,用html5的方式去解读代码;
告诉浏览器使用标准模式;
如果没有文档声明,浏览器可能会使用混杂模式,各种奇葩,不要用。
浏览器乱码问题
原因:代码的编码保存方式和浏览器的解码方式不同。
为什么会这样呢?
在代码里,有一行<meta charset='utf-8'>这句代码的意思是告诉浏览器,我的代码使用utf-8的编码方式,你用utf-8解码就好了;
但是如果把代码里的utf-8换成别的(比如gbk),同时代码保存的时候仍然选择utf-8,那么浏览器就会被欺骗,浏览器读到这句代码时就会选择使用gbk的解码方式来解码,gbk的解码时不可能和实际保存的utf-8匹配上的,那么就会出现乱码。
解决办法:代码里用meta charset='utf-8'声明好,保存的时候也选utf-8,不要瞎写就可以了。
<html lang='zh'>里的lang='xx'什么意思
这是告诉浏览器,我这个页面使用的是中文(zh),这样的话外国网友的浏览器就会发现浏览器使用语言和页面内容语言不同,或许可以提供翻译功能(如果有的话)。