HTML知识点整理
1、什么是HTML?HTML、XML、XHTML 有什么区别?
HTML 是用来描述网页的一种语言。
- HTML 指的是超文本标记语言 (Hyper Text Markup Language)
- HTML 不是一种编程语言,而是一种标记语言 (markup language)
- 标记语言是一套标记标签 (markup tag)
- HTML 使用标记标签来描述网页
HTML 文档 = 网页
- HTML 文档描述网页
- HTML 文档包含 HTML 标签和纯文本
- HTML 文档也被称为网页
Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。
HTML是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写、编码不规范而且很多地方模糊不清。
实际上,网页的终极标记语言应该是XML(Extensible Markup Language),可扩展标记语言。XML是一种跨平台语言,编码更自由,可以自由创建标签。但XML结构复杂,语法严谨,学习起来相对现行的HTML也比较困难,尤其在早期标准不统一的年代,XML没法立即铺开。
于是,W3C想出一个折衷的办法,就是XHTML(Extensible Hyper Text Markup Language),可扩展超文本标记语,扩展的HTML。也就是适当地、逐步地向HTML加入XML的标准。XHTML即是升级版的HTML,对HTML进行了规范,编码更加严谨纯洁,是一种过渡语言,HTML向XML过渡的语言。
2、怎样理解 HTML 语义化。
语义化是指根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器很好的解析。
语义化的优点:
-
有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重。
-
语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构
-
方便其他设备的解析
-
便于团队开发和维护
若想要做到html语义化,则网页的开发者应该要做到熟悉所有规范的HTML标签的使用场景,在合适的地方使用合适的标签。如:
-
尽量少用<div>和<span>这两个标签,因为代码中使用的标签<div>和<span>是在所有的HTML标签中最没有语义的,在使用这两个标签时尽量能找到更有语义的标签代替;
-
和标签语义化的重要性一样,某些属性的设置也是HTML语义化重要的环节。例如,在img标签中,alt是必须要设置的属性,因为img是自闭合标签,并没有包含可以解释说明图片的额外信息。alt属性的文字说明是当图片在浏览器中未加载时的显示的代替。
3、怎样理解内容与样式分离的原则。
一个网页可以简单的分为三个部分:HTML——结构,CSS——表现,JavaScrip——行为。内容和样式的分离,就是指在网页编码的过程中,要将HTML和CSS两大部分分开。写HTML的时候先不管样式,重点放在HTML的结构和语义化上,让HTML能体现页面结构和内容;然后进行 CSS 样式的编写,减少 HTML 与 CSS 契合度(即内容与样式分离) ;写JS的时候,尽量不要用JS去直接操作样式,而是通过给元素添加删除class来控制样式变化(即行为分离)。
样式与结构分离的优点:
-
浏览器加载网页页面速度变快。分离原则下,页面样式的代码写在了CSS当中,页面体积容量变得更小。
-
修改网页样式时,更有效率、更省时间。根据html标签内ID或class的标记,到CSS里找到相应的ID或class,可以快速替换指定位置的样式,不会破坏页面架构和其他部分的样式。
-
可以确保网页都能平稳退化。具备CSS支持的浏览器固然可以把网页呈现的美轮美奂,不支持或禁用了CSS功能的浏览器同样可以把网页的内容按照正确的内容结构显示出来。
4、文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
文档声明的作用是告知浏览器页面使用的HTML版本;严格模式又叫标准模式,使页面按照 HTML 与 CSS 的定义渲染。混杂模式,又叫怪异模式,以比较宽松的向后兼容的方式呈现,模拟老式浏览器以兼容老的站点;<!doctype html> 的作用是告诉浏览器开启标准模式,开启标准模式后浏览器就得老老实实的按照W3C的 标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。
5、浏览器乱码的原因是什么?如何解决
通用的编码方式:
-
ASCII,全称美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 针对英语设计。
-
utf-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。可用于显示中文简体繁体及其它语言(如英文,日文,韩文)。
-
GBK,中国制定的一套汉字编码规则,用2个字节来表示一个汉字,总共可以覆盖2万多个文字。
-
ISOLatin-1,由于ASCII字符集不包括德、法语中的特殊拉丁字符,因此欧洲人发明了ISO 8859-1Latin 1,简称为ISOLatin-1。它对ASCII做了个扩充,涵盖拉丁字母表中特殊语言字符。
乱码原因:使用编辑器编写 HTML 文件,保存编写的HTML文件,会按照使用的编辑器默认的编码方式进行保存,使用浏览器打开HTML文件。在没有声明的情况下,浏览器并不知道你的这个文件是使用什么编码方式,于是会使用了默认解码方式。例如文件保存为GBK格式,在Chrome打开时默认使用 ISO -8859的解码方式,就会导致编码和解码不匹配,产生乱码。
解决方法:在文件保存的时候,自己要清楚是用哪种编码方式保存的(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="前端 饥人谷"> 网页关键字,利于搜索
<meta name="description" content="最有爱的前端学习社区">
搜索引擎优化
<meta name="keywords" content="">
向搜索引擎说明你的网页的关键词
<meta name="description" content="">
告诉搜索引擎你的站点的主要内容
<meta name="author" content="你的姓名">
告诉搜索引擎你的站点的制作的作者
<meta http-equiv="Content-Type" content="text/html";charset=utf-8">
指定字符集
<meta http-equiv="refresh" content="n;url=">
定时让网页在指定的时间n内跳转
<meta http-equiv="pragma" content="no-cache">
禁用缓存
<meta http-equiv="set-cookie" content="Mon,12 May 2001 00:20:00 GMT">
cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式
7.常见的浏览器有哪些,什么内核
浏览器 | 内核 |
---|---|
Internet Explorer | IE内核 |
Firefox | Gecko |
Opear | Presto |
Safair&Chromr | Webkit |
国内大部分浏览器 | IE内核 |