1.HTML、XML、XHTML 有什么区别
- HTML:超文本标记语言,用来描述网页的一种语言,其语法较为松散的、不严格。下面的 HTML 代码运行起来非常正常(即使没遵守语法规则)
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
<p>This is a paragraph
</body>
- XML :可扩展标记语言,主要用于存储数据和结构,可扩展。HTML的标签是被预定义的而XML 标签没有被预定义,需根据需要自行定义标签。
- XHTML:可扩展超文本标记语言,基于XML,作用与HTML类似,但语法更严格,针对HTML进行了规范,编码更加严谨。
2.怎样理解 HTML 语义化
HTML语义化是指使用合理的标签与结构来构建网络,方便开发者阅读,修改。能够更好的让爬虫和机器解析。总而言之,就是让正确的标签做正确的事。
写语义化的 HTML 结构其实很简单,首先掌握 HTML 中各个标签的语义,在看到内容的时候想想用什么标签能更好的描述它,是什么就用什么标签。
<h1> ~ <h6>,作为标题使用,并且依据重要性递减,<h1> 是最高的等级。
<p>段落标记,知道了 <p> 作为段落,你就不会再使用 <br /> 来换行了,而且不需要 <br /> 来区分段落与段落。<p> 中的文字会自动换行,而且换行的效果优于 <br />。段落与段落之间的空隙也可以利用 CSS 来控制,很容易而且清晰的区分出段落与段落。
<ul>、<ol>、<li>,<ul> 无序列表,这个被大家广泛的使用,<ol> 有序列表也挺常用。在 web 标准化过程中,<ul> 还被更多的用于导航条,本来导航条就是个列表,这样做是完全正确的,而且当你的浏览器不支持 CSS 的时候,导航链接仍然很好使,只是美观方面差了一点而已。
<dl>、<dt>、<dd>,<dl> 就是“定义列表”。比如说词典里面的词的解释、定义就可以用这种列表。
<em>、<strong>,<em> 是用作强调,<strong> 是用作重点强调。
<q>也不仅仅只是为文字增加双引号,而是代表这些文字是引用来的。
<table>、<td>、<th>、<caption>, (X)HTML中的表格不再是用来布局。
3.怎样理解内容与样式分离的原则
内容与样式分离,就是让HTML只负责内容的部分,让CSS负责样式的部分;这样可以降低HTML的结构复杂度,使得文档变得清晰易读,方便维护。
4.有哪些常见的meta标签
meta标签常见属性有三种,分别为name、http-equiv和charset
- name
name属性主要用于描述网页,比如网页的关键词,叙述等。与之对应的属性值为content,content中的内容是对name填入类型的具体描述,便于搜索引擎抓取。meta标签中name属性语法格式是:
<meta name="参数" content="具体的描述">
- keywords
<meta name="keywords" content="前端">
用于告诉搜索引擎你的网页关键字 - description
<meta name="description" content="这是我的前端博客">
页面描述,每个网页都应有一个不超过 150 个字符且能准确反映网页内容的描述标签 - author
<meta name="author" content="wfw,xxxxxx@qq.com">
定义网页作者 - copyright
<meta name="copyright" content="wfw">
用于注册版权信息
- http-equiv
http-equiv定义了能改变服务器和用户引擎行为的内容。语法格式是:
<meta http-equiv="参数" content="具体的描述">
- X-UA-Compatible
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
告诉浏览器以何种版本来渲染页面 - expires
<meta http-equiv="expires" content="Monday 26 June 2017 11:00 GMT" />
用于设定网页的到期时间,过期后网页必须到服务器上重新传输。 - refresh
<meta http-equiv="refresh" content="2;URL=http://www.baidu.com/">
网页将在设定的时间内,自动刷新并调向设定的网址。 - Set-Cookie
<meta http-equiv="Set-Cookie" content="name, date">
如果网页过期,那么这个网页存在本地的cookies也会被自动删除。
- charset
用于设定网页字符集,便于浏览器解析与渲染页面。
<meta charset="utf-8">
5.文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
- 文档声明的作用是告诉浏览器此HTML是以什么标准编写的,方便浏览器正确解析。
- 严格模式是指有明确的DOCTYPE声明, 浏览器以明确的标准渲染页面;混杂模式是浏览器以向后兼容的方式渲染页面。
- <!doctype html>的作用为告诉浏览器以HTML5的标准渲染页面。
6.浏览器乱码的原因是什么?如何解决
浏览器乱码的原因有:
- html中没用标明编码方式,浏览器没有正确识别页面编码而导致乱码。
解决方法:添加html的编码方式<meta charset="编码方式">
- html中标明的编码方式与其真正的编码方式不一致,浏览器错误解析导致乱码。
解决方法:标明正确的编码方式
7.常见的浏览器有哪些,什么内核
常见的浏览器有IE、Firefox、Chrome、Safari、Opera等
浏览器 | 内核 |
---|---|
IE | Trident |
Firefox | Gecko |
Safari | WebKit |
Chrome | WebKit(27版本前)/Blink(28+) |
Opera | Presto(7至12)/Blink(15+) |
8.列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 场景 |
---|---|
html | html文件开头 表示这是个html文件 |
head | html 后 body 前 包含html文件一些关键信息 |
body | html 的主体,包含了网页的主要内容 |
title | html的标题 |
h1 - h6 | 从大到小的文字标题 |
span/stronge/em | 位于需要特殊操作的文本两边 |
div | 需要将网页划分区块时使用 |
p | 段落,输入大段文字时使用 |
ul | 无序列表,需要li配合使用 |
ol | 有序列表,需要ol配合使用 |
li | 列表项 |
img | 图片,需插入图片时使用 |
a | 链接,要使用链接时使用 |
button | 按钮,添加按钮时使用 |
table(th/tr/td) | 用于展示表格 |
iframe | 用于嵌入一个页面 |
dl | 定义列表 |
dt | 定义列表中的项目 |
dd | 定义列表中项目的描述 |