HTML、XML、XHTML 有什么区别
- HTML:超文本标记语言,是语法较为松散的、不严格的Web语言;
- XML:可扩展标记语言,主要用于存储数据和结构,可扩展;
- XHTML:可扩展超文本标记语言,基于XML,作用与HTML类似,但语法更严格
怎样理解 HTML 语义化
语义化的含义就是用正确的标签做正确的事情,html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
怎样理解内容与样式分离的原则
在前端中,Html指的是结构;CSS指的是样式;JavaScript指的是行为。
在写HTML时,确保文档和模板只包含 HTML 结构,样式都放到样式表CSS里,行为都放到JS脚本里。
这样方便样式的统一修改,提高样式的复用性和代码的可读性。
- 写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容。之后再去写样式。
- HTML 内不允许出现属性样式,尽量不要出现行内样式。
- 写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化。
有哪些常见的meta标签
标签 | 含义 |
---|---|
<mata charset="utf-8"> | 声明文档使用的字符编码 |
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> | 声明文档兼容模式,指示IE以目前可用的最高模式显示内容 |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> | 用于移动端开发 |
<meta name="keywords" content="your tags"> | 定义针对搜索引擎的关键词 |
<meta name="description" content="不超过850个字符"> | 页面描述,告诉搜索引擎你的站点的主要内容 |
<meta name="author" content="你的姓名"> | 定义网页作者 |
<meta name="revised" content="David, 2008/8/8/" /> | 定义页面的最新版本 |
<meta http-equiv="refresh" content="5"/> | 5秒刷新一次页面 |
<meta http-equiv="expires" content="Mon,12 May 2001 00:20:00 GMT"> | 用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式 |
<meta http-equiv="pragma" content="no-cache"> | 禁用缓存 |
<meta http-equiv="set-cookie" content="Mon, 12 May 2001 00:20:00 GMT"> | cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也必须使用GMT时间格式。 |
<meta name="robots" content="index,follow" /> | 搜索引擎索引方式 |
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
- <!DICTYPE>声明位于文档中的最前面,处于<html>标签之前,告诉浏览器的解析器,用什么文档类型来规范解析这个文档。
- 严格模式的排版和js运作模式是以该浏览器支持的最高标准运行。
- 在混杂模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。
- DOCTYPE不存在 或格式不正确会导致文档以混杂模式呈现。
浏览器乱码的原因是什么?如何解决
下面这个流程是我们写入文件到展示文件的简单描述:
- 我们使用编辑器编写 HTML 文件
- 保存编写的HTML文件
- 使用浏览器打开HTML文件
- HTML文件在浏览器展示
乱码产生的根源就在与第2步骤和第4步。
在第4步浏览器打开网页时,它并不知道你的这个文件是使用什么编码方式,于是自作主张使用了默认解码方式。如下图所示,文件保存为GBK格式,在Chrome打开时默认使用 ISO -8859的解码方式,导致编码和解码不匹配,产生乱码。
在第2步保持文件时会把我们写入的文字使用编辑器默认的编码方式进行保存。如果大家使用的是Sublime编辑器,默认的编码方式是utf-8。当然也可以安装GBK Encoding support插件,在保存文件时可选择保存为GBK
如何解决:
首页,在文件保存的时候你自己要清楚是用哪种编码方式保存的(sublime默认保存方式是utf-8,如果安装了插件也可另存为gbk,其它IDE可以做设置保存格式)。如果你的文件是保存为utf-8格式,那么一定要在html 的 <head>里添加<meta charset="utf-8">,这句话的意思是告诉浏览器在打开这个页面的时候不要去猜了,直接用utf-8去解码。 同理,如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">。
记住:
- 乱码产生的根本原因是你保存的编码格式和浏览器解析时的解码格式不匹配导致的。
- 乱码一般是英文以外的字符才会出现。
为啥纯粹的英文不会出现乱码问题,即使编码方式和解码方式不一致?那是因为前面讲过了 utf-8、gbk对英文都是采用1个字节的编码方式,并且使用了相同的码字。
常见的浏览器有哪些,什么内核
l浏览器 | 内核 |
---|---|
Internet Explore | IE内核 |
Firefox | Gecko |
Opear | Presto |
Safari&Chromr | Webkit |
国内大部分浏览器 | IE内核 |
列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 场景 |
---|---|
h1-h6 | 标题标签 |
p | 段落标签 |
a | 链接标签 |
div | 块标签 |
ul、li | 无序列表 |
ol、li | 有序列表 |
dl、dt、dd | 展示有标题和内容的自定义表格 |
button | 按钮标签 |
strong | 强调元素 |
em | 中层强调元素 |
span | 标记一段行内元素 |
iframe | 在当前页面嵌入一个页面 |
table | 用于展示表格,不要用来做布局 |
thead、tbody、tfoot | 一般不用写 |
tr | 代表表格的一行 |
th | 代表表格第一行的列内容 |
td | 代表表格的一列 |