HTML、XML、XHTML的区别
1.HTMLHTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。它告诉浏览器如何显示内容。可扩展,可在广泛的平台上使用。
2.XML ExtentsibleMarkupLanguage(可扩展标记语言),主要用于存储数据和结构,可扩展。它没有标签集,也没有语法规则,但是它有句法规则。
- XML的设计目标是描述数据并集中于数据的内容,它的显示形式靠CSS或XSL帮完成。
- XML具有严格的错误处理规则。
- 所有标记必须成对出现且区分大小写。
- XML允许粒度更新,不必在XML文档每次有局部改变时都发送整个文档的内容,只有改变的元素才必须从服务器发送到客户机,而HTML却不支持这样的功能。
- XML标记由架构或文档的作者定义,并且是无限制的
3.XHTML是当前HTML版的继承者,由于HTML的语法较为松散,对于许多其他设备的要求较高,因此就出现了由DTD定义规则,语法要求更加严格的XHTML。
- XHTML与HTML的最大的变化在于所有标签必须闭合。
- XHTML中所有的标签必须小写。
- XHTML 元素必须被正确地嵌套。
- XHTML 文档必须拥有根元素。
怎样理解 HTML 语义化
含义:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。
优点:
- 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构;
用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用; - 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
- 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
怎样理解内容与样式分离的原则
XHTML的标签只用来定义文档的结构,所有涉及表现的东西通通剥离出来,把它放到一个单独的文件里,这个单独的文件就是CSS。
优点:
- 数据的多样显示。通过不同的样式表适应不同的设备,做到内容与设备无关;
- 保持整个站点的视觉一致性变得非常简单,修改样式表就可以轻松改版;
- 由于结构清晰,数据的集成、更新和处理更加方便灵活;
- 更有意义的搜索。
有哪些常见的meta标签
- 关键字 <meta name =“keywords” content=“java 培训 ,安卓培训” >
- 网页描述 description 搜索引擎找到网页时进行描述: <meta name=“description” content=“平潭岛,传说中的岛“>
- 网页重定向 refresh
- <meta name=“refresh” content=“3;http://www.google.com” > 3秒后跳转谷歌
- 链接 link
1.<link rel=“stylesheet” herf=“1.css”>
2.<link rel=“icon” href=“favicon.ico”> 图标 - <meta charset=“utf-8”> 字符编码
- <meta name=“viewport” content=“width=device-width,initial-scale=1,maximum-scale=1”> 移动端展示合理
文档声明的作用?严格模式和混杂模式指什么? <!doctype html> 的作用?
声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。
严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
<!doctype html> 的作用就是让浏览器进入标准模式,使用最新的 HTML5标准来解析渲染页面;如果不写,浏览器就会进入混杂模式,而这是我们要避免的
常用的 DOCTYPE 声明
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)
HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
XHTML 1.0 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
XHTML 1.0 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
XHTML 1.0 Frameset
该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。
XHTML 1.1
该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。
浏览器乱码的原因是什么?如何解决
文件保存的格式与meta中指定的解析格式不一样
没有指定meta的charset
解决办法:指定正确的charset值
常见的码表如下:
- ASCII: 美国标准信息交换码。用一个字节的7位可以表示。
- ISO8859-1: 拉丁码表。欧洲码表,用一个字节的8位表示。又称Latin-1(拉丁编码)或“西欧语言”。ASCII码是包含的仅仅是英文字母,并且没有完全占满256个编码位置,所以它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入192个字母及符号,藉以供使用变音符号的拉丁字母语言使用。从而支持德文,法文等。因而它依然是一个单字节编码,只是比ASCII更全面。
- GB2312: 中国的中文编码表。
- GBK: 中国的中文编码表升级,融合了更多的中文文字符号。
- Unicode: 国际标准码,融合了多种文字。所有文字都用两个字节来表示,Java语言使用的就是unicode。
- UTF-8: 最多用三个字节来表示一个字符。
常见的浏览器有哪些,什么内核
- Trident内核代表产品Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
- Gecko内核代表作品Mozilla FirefoxGecko是一套开放源代码的、以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。
- WebKit 引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Webkit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。主要代表作品有Safari和Google的浏览器Chrome。
- Presto内核代表作品OperaPresto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。
- KHTML:KHTML,是HTML网页排版引擎之一,由KDE所开发。KDE系统自KDE2版起,在档案及网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。
列出常见的标签,并简单介绍这些标签用在什么场景
- <html> 标签是 HTML 页面的根元素;
- <body>标签包含页面的主体内容;
- <head> 标签包含了文档的元(meta)数据;
- <meta>标签,提供了元数据.元数据也不显示在页面上,被浏览器解析;
- <link> 标签定义了文档与外部资源之间的关系。通常用于链接到样式表;
- <style> 标签定义了HTML文档的样式文件引用地址,在<style> 元素中可直接添加样式来渲染 HTML 文档;
- <script>标签用于加载脚本文件,如: JavaScript;
- <title> 标签描述了文档的标题;
- < h1>-< h6>标签定义了一级标题到六级标题,标题字体大小逐渐减弱;
- < p > 标签定义一个段落;
- < a >标签,是网页链接。通过href属性,来指定链接地址。通过target属性,来指定链接页面打开的方式。通过title,来指定鼠标移到标签上时出现的文字提示;
- <image>标签,定义html图像。可通过width和heigth属性来指定图像的大小;
- <div> 元素是块级元素,它可用于组合其他 HTML 元素的容器,没有特定的含义。它属于块级元素,浏览器会在其前后显示折行;
- <span> 元素是内联元素,也没有特定的含义,可用作文本的容器;
- < ol >< li >标签,有序列表始于 < ol > 标签。每个列表项始于 < li > 标签。列表项目会使用数字进行标记;
- < ul >< li >标签,无序列表,列表项目会使用粗体圆点(典型的小黑圆圈)进行标记;
- <table>标签,定义表格;
- <tr> 标签定义表格的行;
- <td> 标签定义表格每行的列;
- <th> 定义表格的表头;
- <tbody>,定义表格的主体;
- <tfoot>,定义表格的页脚 ;
- <iframe>标签,用于在当前页面嵌入新页面;
- < strong >标签,定义重要的文本;
- < em >标签,定义被强调的文本。
结语
文中多处借鉴了饥人谷张新望老师的文档,在此感谢。
网友评论