HTML、XML、XHTML有什么区别?
- HTML全称是Hyper Text Markup Language(超文本标记语言),是通用的web语言,上手方便,但它语法结构松散、很多地方模糊不清。具有代码不规范与臃肿、数据与表现混杂等问题。
- XML全称是Extensible Markup Language(可扩展标记语言),用于定义其他语言的一种元语言,前身为SGML。它提供了一种基本结构和其它标记语言必须遵守的一组规则。语言结构复杂,语法严谨,上手较困难,后多用于网络数据的转换和描述。
- XHTML全称是 Extensible Hyper Text Markup Language(可扩展超文本标记语言), 由XML规则改进而来的HTML,主要内容与HTML相差不大,但语法方面更加严格。
怎样理解HTML 语义化?
HTML 语义化是什么?
HTML中的标签,用以描述内容的含义或意义,即语义。如,我们一看到h1 标签,就明白h1 中包括的内容是一级标题,遇到p 标记标签,就明白标签内的是段落,这些含义不会随着样式的改变而改变。
HTML语义化,让HTML 只负责网页的内容,把所有的样式交给CSS。语义化的好处
- 去掉或丢失样式时也能呈现清晰的页面结构
- 方便其他设备解析,如屏幕阅读器,盲人阅读器和移动设备等
- 对搜索引擎和爬虫更加友好
- 便于团队开发和维护
- 应注意的问题---选择合适的标签、使用合理的代码
- 尽量少使用无语义`<div>`和`<span>`
- 不要使用纯样式标签,如b、font、u等,改用CSS 设置
- 需要强调的文本可以包含在`<strong>`和`<em>`标签中
怎样理解内容与样式分离的原则?
- 写HTML 时先不管样式,重点放在HTML 语义化和结构上,让HTML 能体现页面结构或者内容,之后再去写样式
- HTML 内不允许出现属性样式,尽量不要出现行内样式,可用类选择器和id 选择器进行控制
有哪些常见的meta标签?
<meta>
标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。 ——W3School
属性 | 值 | 描述 |
---|---|---|
http-equiv | content-type/expires/refresh/set-cookie/windows-target | 把content属性关联到HTTP头部。 |
name | author/description/keywords/generator/revised/viewport | 把 content 属性关联到一个名称。 |
content | some text | 定义用于翻译 content 属性值的格式。 |
- content-type
<meta http-equiv="content-language" content="zh-cn">```
用以说明主页制作所使用的文字和语言
- expires
```<meta http-equiv="expires" content="Mon,12 May 2001 00:20:00 GMT">```
用于设定网页的到期时间,一旦过期则必须到服务器上重新调用,注意要使用GMT时间格式
- refresh
`<meta http-equiv="refresh" content="n,url=http://yourlink">`
让网页在指定的时间n内跳转到链接页面
- pragma
`<meta http-equiv="pragma" content="no-cache">`
用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出
- set-cookie
`<meta http-equiv="set-cookie" content="Mon,12 May 2001 00:20:00 GMT">`
用于cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式
- windows-target
`<meta name="windows-target" content="_top">`
强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用
- X-UA-Compatible
`<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">`
优先使用ie最新版本和chrome
- viewport
`<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">`
用于优化移动浏览器的显示。如果不是响应式网站,不要使用initial-scale或者禁用缩放。
1. width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素)
2. height:高度(数值 / device-height)(范围从223 到10,000)
3. initial-scale:初始的缩放比例 (范围从>0 到10)
4. minimum-scale:允许用户缩放到的最小比例
5. maximum-scale:允许用户缩放到的最大比例
6. user-scalable:用户是否可以手动缩 (no,yes)
- keywords
`<meta name="keywords" content="your tags">`
为搜索引擎提供参考,网页内容所包含的核心搜索关键词
- description
`<meta name="description" >`
为搜索引擎提供参考,网页的描述信息;搜索引擎采纳后,作为搜索结果中的页面摘要(snippet)显示
- robots
`<meta name="robots" content="index,nofollow">`
用于设定搜索引擎检索方式
1. all:文件将被检索,且页面上的链接可以被查询;
2. none:文件将不被检索,且页面上的链接不可以被查询;
3. index:文件将被检索;
4. follow:页面上的链接可以被查询;
- noindex:文件将不被检索;
- nofollow:页面上的链接不可以被查询。
参考文档
[常用meta整理](https://segmentfault.com/a/1190000002407912)
[META标签](http://baike.baidu.com/view/740572.htm)
#### 文档声明的作用?标准模式与混杂模式指什么?<!doctyte html> 的作用?
1. 文档声明的作用
文档声明即DOCTYPE ,全称为Document type,用来说明在web设计中你用的是什么版本的文档类型,可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。该标签决定了浏览器选择何种协议解析你的文档,位于HTML 文档的第一行。
>参考
[标点符--网页的DOCTYPE声明的作用](https://www.biaodianfu.com/doctype.html)
[W3C--DOCTYPE](http://www.w3school.com.cn/tags/tag_doctype.asp)
- 标准模式与混杂模式指什么
浏览器解析文档的两种方式
标准(非怪异)模式
混杂(怪异)模式
- 标准模式
浏览器根据W3C标准呈现页面。
- 混杂模式
以兼容模式呈现页面,模拟老式浏览器的行为,防止站点无法工作。这种模式并未严格遵循W3C 标准。DOCTYPE 不存在或者形式不正确会导致页面以混杂模式呈现,这种行为会导致错误或不可预测,应尽量避免。
- 想了解更多内容请查阅以下网站
- [怪异模式(Quirks Mode)对 HTML 页面的影响](https://www.ibm.com/developerworks/cn/web/1310_shatao_quirks/)
- [Activating Browser Modes with Doctype](https://hsivonen.fi/doctype/)
- <!doctyte html> 的作用
用于声明这是个HTML 5 文档
#### 浏览器乱码的原因是什么?如何解决?
造成HTML 网页乱码原因主要是HTML 源代码的编码方式和浏览器解码方式产生冲突导致的。
** 解决方式**
清楚自己的IDE 是用何种编码方式保存THML 文档的,接着在HTML `<head>`里面添加`<meta charset="你的编码方式">`
想了解更多请查阅:[关于浏览器乱码](http://ruoyu.jirengu.com/post/%E5%85%B3%E4%BA%8E%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B9%B1%E7%A0%81)
#### 常见的浏览器有哪些?分别是什么内核?
|浏览器|内核|
|----|-------|
|IE8-IE9-IE10|Trident 4.0-Trident 5.0-Trident 6.0|
|Firefox|Gecko|
|Safari|Webkit|
|Google Chrome|Chromium(基于WebKit内核开发的一个分支),Blink(28及往后版本)|
|Opera|Chromium,Blink(15及往后版本)|
|猎豹安全|1.0-4.2版本为Trident+Webkit,4.3版本为Trident+Blink;|
|360安全|1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink;|
|360极速|7.5之前为Trident+Webkit,7.5为Trident+Blink;|
|傲游|1.x、2.x为IE内核,3.x为IE与Webkit双核|
|搜狗高速|1.x为Trident,2.0及以后版本为Trident+Webkit;|
参考:[学习也休闲--常见的浏览器内核](http://www.studyofnet.com/news/625.html)