1. HTML、XML、XHTML 有什么区别
HTML
HyperText Markup Language ,超文本标记语言,语法较为松散的,不太严格的Web语言,用于页面内容的结构化展现。即用于“结构、样式、行为”三者中的结构。XML
Extensible Markup Language , 可扩展标记语言,常用语数据存储和结构。语法较为严格。XHTML
可以理解为基于 XML 的 HTML ,作用与 HTML 类似,但语法比 HTML 更为严格。
2. 怎样理解 HTML 语义化
要让计算机可以读懂内容,知道我们想让它做什么。
要根据内容选择合适的标签,便于开发者阅读和写出更优雅的代码,也便于计算机和爬虫更好的解析。
现行的准则:结构、样式、行为,三者分离。
要准确理解每个标签的意义,合理使用标签。多学习大网站或者好的开源项目的代码,看看别人都是怎么做的。
一些语义化的参考:
根据文档上下文结构合理的选用最适合表达当前语义的标签;
尽可能少的使用无语义的标签div和span;
不要使用纯样式标签,如:b、font、u等,一切表现改用css设置;
h标签的使用应该根据重要性逐级递减,没有断层。并且一个页面只能有一个h1;
提高关键词密度,如图片替换alt,链接说明title;
正确使用内容容器,如段落p,列表ul, ol, li, dl, dt, dd
需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);
使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。
3. 怎样理解内容与样式分离的原则
内容就用且只用 HTML ,样式就用且只用 CSS 。
处理内容的时候,就不要管样式,只需要做好 HTML 的结构和语义化。保证页面能够清晰的展示出文档的结构和内容。
HTML 中不允许出现对样式的操作
在写 JS 控制行为的时候,也不应该用 JS 直接去操作样式,而是通过给元素添加或者删除 class 的方式,来操作样式。
4. 有哪些常见的meta标签
- 申明编码:
<meta charset='utf-8' />
- 优先使用IE最新版本和Chrome
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- 关于X-UA-Compatible -->
<meta http-equiv="X-UA-Compatible" content="IE=6" ><!-- 使用IE6 -->
<meta http-equiv="X-UA-Compatible" content="IE=7" ><!-- 使用IE7 -->
<meta http-equiv="X-UA-Compatible" content="IE=8" ><!-- 使用IE8 -->
- 浏览器内核控制
<meta name="renderer" content="webkit|ie-comp|ie-stand">
- SEO优化
设置关键词:
<meta name="keywords" content="your tags" />
设置页面描述:
<meta name="description" content="150 words" />
设置搜索引擎索引方式:
<meta name="robots" content="index,follow" />
<!--
all:文件将被检索,且页面上的链接可以被查询;
none:文件将不被检索,且页面上的链接不可以被查询;
index:文件将被检索;
follow:页面上的链接可以被查询;
noindex:文件将不被检索;
nofollow:页面上的链接不可以被查询。
-->
移动设备配置:
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>
5. 文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”。
<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。在HTML中 doctype 有两个主要目的。
- 对文档进行有效性验证。
它告诉用户代理和校验器这个文档是按照什么DTD 写的。这个动作是被动的,每次页面加载时,浏览器并不会下载DTD 并检查合法性,只有当手动校验页面时才启用。 - 决定浏览器的呈现模式
对于实际操作,通知浏览器读取文档时用哪种解析算法。如果没有写,则浏览器则根据自身的规则对代码进行解析,可能会严重影响html 排版布局。浏览器一般有两种模式解析HTML文档,标准模式和兼容模式。
严格模式
也叫标准模式(Standards Model),是浏览器解析 HTML 的模式之一,该模式下浏览器会根据标准规则来渲染页面。
混杂模式
也叫兼容模式、怪异模式,该模式下,浏览器会模仿旧浏览器的行为,比如IE6,在此基础上兼容新的标准特性。
6. 浏览器乱码的原因是什么?如何解决
根本原因:文件保存时的编码格式,与浏览器解析时的解码格式,不一致。
解决办法:
查找自己写的源码,查看其编码格式,然后在打开浏览器设置,查找到浏览器的编码格式,让二者保持一致即可。
写代码时候采用默认的编码格式,UTF - 8;
7. 常见的浏览器有哪些,什么内核
IE : Trident 内核
Safari : Webkit 内核
Chrome : Blink 内核
Firefox : Gecko 内核
Opera : 早期用 Presto 内核,现已改用 Google Blink 内核
其它国产浏览器:均为以上内核之一或双引擎
8. 列出常见的标签,并简单介绍这些标签用在什么场景
div :用于布局
h :标题
p :段落
img :图片
span、em :做一些页面上的“小东西”
ul、ol、li :无序、有序列表,如导航栏
dl、dt、dd :自定义列表,如导航栏下拉菜单
form :表单
table :表格
a :超链接