整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端面试题 ===> 「HTML」

TML面试题总结

1. 对 HTML 语义化的理解

  1. 去掉或者丢失样式的时候能够让页面呈现出清晰的结构;
  2. 代码结构清晰,方便团队的管理和维护,并且语义化更具有可读性,减少差异化;
  3. 提升用户体验; 例如:title、alt用于解释名词或者图片信息、label标签的活用
  4. 有利于SEO优化,提升搜索引擎排名; 和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息; 爬虫依赖于标签来确上下文和关键字的权重;
  5. 方便其他设备的解析(屏幕阅读器、盲人阅读器、移动设备等等);

2. H5新增特性

  1. 语义化更好的标签: header、nav、aside、article、section、footer;
  2. 音视频标签: audio、video; 如果浏览器不支持自动播放怎么办? 在属性中添加autoplay(谷歌浏览器不支持音频自动播放,但是视频支持静音自动播放);
  3. 以 data- 开头的自定义属性
  4. 本地存储: localStorage、sessionStorage;
  5. 表单控件; 给 type 属性设置值; url、search、file、email、date、number、month、color、tel;
  6. 画布; Canvas;
  7. 拖拽释放: drag、drop;
  8. 新技术: 浏览器多线程:webWorker; 前后台持久化通信技术:webSocket;

3. HTML5常用的结构标签有哪些,它替换了之前的哪些标签?

  • header、nav、main、article、aside、footer、section
  • <div class="header">、<div class="nav">、<div class="main">...

4. HTML文档采用 UTF-8编码集 的优势是什么?

  1. utf-8: 使用3个字节表示一个符号,基本上可以覆盖世界上所有的语言;
  2. 优势: 与传统的gb2312、gbk相比,可识别的字符集更多,也是行业界推荐的;

5. 标签中常用的属性有哪些?

  • id、class、title、style;

6. 标签中的 title属性 和 alt属性 的区别是什么?

  1. title: 是标签的描述属性,当鼠标移入时,稍等一会儿就会出现title属性的属性值;
  2. alt: 用在可置换元素上,当外部资源无法正确加载时,alt属性的属性值就会显示在占位符上;

7. 什么是置换元素 和 非置换元素,每种类型至少举出三个例子

  1. 置换元素: 置换元素的内容来自外部,该元素仅是外部资源的占位符; <img>、<video>、<audio>...;
  2. 非置换元素: 非置换元素内容来自当前文档,必须使用双标签; <p>、<h1> ~ <h6>、<ul>...;

8. 标签中的 href属性 和 src属性 有什么区别?

  1. 二者都是对外部资源的引用;
  2. href: 用于超文本或样式,用在 <link>标签 和 <a>标签上;
  3. src: 用在外部资源占位符上,如<img>、<iframe>、<script>、<video>...;

9. iframe标签有什么优缺点?

  1. 优点: 重载页面时不需要加载整个页面,只需要重载页面中的一个框架页,从另一方面来说,减少数据的传输,加快了网页下载速度; 技术易于掌握,使用方便,可主要使用于不需要搜索引擎来搜索的页面; 当前页面,直接加载其他页面,而不必发生跳转;
  2. 缺点: iframe 会阻塞主页面中的 Onload 事件; 会产生很多页面,不容易管理; 多框架的页面会增加服务器的http请求,影响页面的并行加载; 并行加载:同一时间针对不同域名下的请求,iframe和所在页面在同一个域下面,而浏览器的并行加载的数量是有限制的;

10. 表单中的按钮有几种,常用的标签有哪几个?

  1. 按钮有三种: 普通按钮、提交按钮、重置按钮;
  2. 常用标签:
<input type="button" />
<input type="submit" />
<input type="rest" />
<button />

11. 表单数据的提交方式有几种,分析使用场景?

  1. POST: 表单数据通过请求体发送;
  2. GET: 表单数据通过URL地址栏发送;

12. 什么是 重绘 和 重排?

  1. 重绘: 当元素的一部分属性发生改变,如外观、背景、颜色等不会引起布局变化,只需浏览器根据元素的新属性重新绘制,使元素呈现新的外观叫做重绘;
  2. 重排: 和重绘相反,当改变布局的时候,就会引起重排;
  3. 重绘不一定需要重排(比如颜色的改变),重排必然导致重绘(比如改变网页位置)

发者面向企业级应用开发,集成所需要的成熟稳定SDK(软件开发工具包),可以快速为集成产品提供相应的功能,大大节约了开发成本和提高了研发效率。

畅写Office SDK面向开发者提供一种快速集成在线文档的能力,帮助企业应用快速实现在线文档编辑与协作服务,包含文字处理、电子表格、演示文稿、PDF等功能组件,无需插件和本地Office,深度兼容各类Office文件格式,用户打开浏览器就可以使用。易集成、快速应用、全屏覆盖、支持公有云和私有化部署。

采用畅写OfficeSDK快速集成给企业带来的价值:

  • 简短代码、方便低成本快捷集成,节约80%以上的开发成本;
  • 提供完整的云端Office(Word、Excel和PPT)编辑和协作功能体验;
  • 文档即是链接,权限可控、文档传输安全无死角;
  • 用户客户端无需安装本地Office和插件,极大提升了系统维护和提高用户操作体验;
  • 适用平台:快速集成后,支持所有PC端、Android和iOS终端设备使用;
  • 应用场景:支持APP、公众号、网页等形式的网盘、OA、CRM、ERP、邮件等业务系统快速集成;
  • 文件格式:支持Office类(doc、docx、odt、csv、ods、xls、 xlsx、odp、pps、ppsx、ppt、 pptx)等文件格式;

畅写Office主创团队成员来自国内Office办公软件厂商和国际LibreOffice.org开源社区,在Office功能开发、格式兼容性处理、场景化文档应用等方面具有20年的行业经验;精通处理各类Office文件格式兼容性技术,包含docx、doc、xlsx、xls、pptx、ppt、uof、pdf及ofd文件格式;具备文字处理、电子表格、演示文稿功能及快速服务能力。

此次首度公开的畅写Office开发手册正是出自这样的团队,是深研多年技术精英的经验总结,并经历了多次大规模一线实战检验及完善,铸就了高含金量的畅写Office开发手册。

今天带大家看看这套开发者手册

如何帮助行业人员提高开发质量和效率

降低代码维护成本

欢迎登录浏览,收藏不迷路

☟ ☟ ☟

https://chang-xie.gitee.io/devdoc/#/

开发手册有哪些值得关注的亮点?

该手册以开发者为中心视角,划分为快速开始、部署指导、开发指引、工作原理、常见问题、应用场景、更新日志等七大板块,再根据内容特征,细分成若干二级子目录。根据畅写Office功能服务特征,依次分为步骤、方法、代码三大类,不仅能让开发者一目了然, 更有助于开发团队分工与合作、真正提升系统开发效率。

【无需下载简单易集成】

首先是关于在线文档的打开、部署、使用接口、设备要求规范、工作原理规范等相关指导内容,全部源于业界经典应用案例,经过团队专业开发者深度讨论提炼而成。表面看似简单,实质是直击代码灵魂的考究,随手列举其中一条,一起来感受下:

调用畅写Office SDK 简单易集成,可以将畅写文字处理、电子表格、演示文稿编辑器快速集成到业务系统中。

畅写Office JavaScript API 文件引用地址:

http://documentserver/web-apps/apps/api/documents/api.js

documentserver 修改成畅写Office部署的服务器ip或者域名

嵌入畅写Office需要在HTML页面定义div元素占位符并且引入API文件。查看简单示例

<div  id = "CXO_Editor_SDK" > </div> 

<script type = "text/javascript" src="http://documentserver/web-apps/apps/api/documents/api.js"></script>

【结构清晰分明】

畅写Office开发手册架构简明清晰,菜单栏进行了合理设计和系统规划,在这里,不管你是刚入门的程序员还是企业研发,都可以直观的看懂后端部署指导、开发指引、工作原理,快速了解甚至应用到对接部署工作。

【代码详细实用】

为了让更多基础入门的开发者能更快、准确理解代码背后的思路,此次新版也对部分略显复杂的示例做了更生动的解释。以贴合企业应用的实际场景,帮助有需要的人员理解代码世界中的逻辑原理。

【快速集成部署】

畅写支持快速部署开箱即用,支持公有云、私有化部署,为企业应用高效赋能;企业技术人员参考我们提供的《开发者手册》便可以自主部署在本地机房、自建机房IDC中心和公有云平台,也可以随时向畅写专业技术人员寻求帮助,通过远程登录的方式安装部署。

【环境要求】

畅写Office开发手册有详细的操作系统规格:支持Ubuntu 16.04或以上、CentOS7.4或以上、Redhat7.4或以上、统信服务器操作系统V20、中标麒麟服务器操作系统V7.0、深度服务器操作系统V15、银河麒麟V10、湖南麒麟V3.3-6A、湖南麒麟V3.3-6B、openEule等操作系统。

【案例丰富饱满】

畅写Office以强大的文档在线编辑能力、文件格式深度兼容性、多维协作及权限控制、易集成、部署灵活等能力,深受行业客户的喜爱,已服务大型集团企业,包括平安银行、平安科技集团、光大银行、交通银行、中国银行、广发银行、国海证券、惠华基金、国家电网、南方电网、波司登、中铁等行业大客户,不管您的企业属于哪个行业领域,畅写都能为您的企业提供数智化办公服务。

【实力科研团队】

畅写Office,依托20年Office专业技术素养的团队,秉承着【文档就是生产力】的理念,打造具有中文特色的云端办公软件产品及服务,具备“兼容、连接、协作、沟通"能力,即兼容微软Office系列文件格式、兼容功能操作、兼容用户习惯,连接人、连接设备、连接系统,多人协作与沟通、系统协同、数据互操作等能力。面向企业服务提供各种在线文档场景化处理服务,助力企业应用实现数字化转型、智能化应用,旨在全面提升企业员工协作效率和系统协同生产力。

畅写Office SDK开发者手册

称不上是最完美的

但是有了业界所有开发者的关注与支持

我们相信它在一步步走向完美

未来我们还会不断创新升级

以更佳的使用体验

更贴心的服务回馈用户

期待您的持续关注



么是HTML?

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)

  • HTML 不是一种编程语言,而是一种标记语言 (markup language)

  • 标记语言是一套标记标签 (markup tag)

  • HTML 使用标记标签来描述网页

HTML 标签

HTML 标记标签通常被称为 HTML 标签 (HTML tag)。

  • HTML 标签是由尖括号包围的关键词,比如 <html>

  • HTML 标签通常是成对出现的,比如 <b> 和 </b>

  • 标签对中的第一个标签是开始标签,第二个标签是结束标签

  • 开始和结束标签也被称为开放标签和闭合标签

HTML 文档 = 网页

  • HTML 文档描述网页

  • HTML 文档包含 HTML 标签和纯文本

  • HTML 文档也被称为网页

Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容

<html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>

例子解释

  • <html> 与 </html> 之间的文本描述网页

  • <body> 与 </body> 之间的文本是可见的页面内容

  • <h1> 与 </h1> 之间的文本被显示为标题

  • <p> 与 </p> 之间的文本被显示为段落

HTML 元素语法

  • HTML 元素以开始标签起始

  • HTML 元素以结束标签终止

  • 元素的内容是开始标签与结束标签之间的内容

  • 某些 HTML 元素具有空内容(empty content)

  • 空元素在开始标签中进行关闭(以开始标签的结束而结束)

  • 大多数 HTML 元素可拥有属性

HTML 标签对大小写不敏感

HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的。

HTML 段落是通过 <p> 标签进行定义的

HTML 链接是通过 <a> 标签进行定义的。

<a href="http://www.w3school.com.cn">This is a link</a>

注释:在 href 属性中指定链接的地址

HTML 图像是通过 <img> 标签进行定义的。

<img src="w3school.jpg" width="104" height="142" />

注释:图像的名称和尺寸是以属性的形式提供的

<body> 元素定义了 HTML 文档的主体。

<html> 元素定义了整个 HTML 文档

HTML 属性

HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息。

属性总是以名称/值对的形式出现,比如:name="value"。

属性总是在 HTML 元素的开始标签中规定

属性实例

HTML 链接由 <a> 标签定义。链接的地址在 href 属性中指定:

<a href="http://www.w3school.com.cn">This is a link</a>

HTML 提示:使用小写属性

属性和属性值对大小写不敏感

始终为属性值加引号

属性值应该始终被包括在引号内。双引号是最常用的,不过使用单引号也没有问题

在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:

name='Bill "HelloWorld" Gates'

HTML 水平线

<hr /> 标签在 HTML 页面中创建水平线。

hr 元素可用于分隔内容。

HTML 注释

可以将注释插入 HTML 代码中,这样可以提高其可读性,使代码更易被人理解。浏览器会忽略注释,也不会显示它们。

注释是这样写的:

实例

<!-- This is a comment -->

HTML 折行

如果您希望在不产生一个新段落的情况下进行换行(新行),请使用 <br /> 标签

<p>This is<br />a para<br />graph with line breaks</p>

当显示页面时,浏览器会移除源代码中多余的空格和空行。所有连续的空格或空行都会被算作一个空格。需要注意的是,HTML 代码中的所有连续的空行(换行)也被显示为一个空格。

如何使用样式

当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化。有以下三种方式来插入样式表:

外部样式表

当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。

<head><link rel="stylesheet" type="text/css" href="mystyle.css"></head>

内部样式表

当单个文件需要特别样式时,就可以使用内部样式表。你可以在 head 部分通过 <style> 标签定义内部样式表。

<head><style type="text/css">body {background-color: red}p {margin-left: 20px}</style></head>

内联样式

当特殊的样式需要应用到个别元素时,就可以使用内联样式。 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。以下实例显示出如何改变段落的颜色和左外边距。

<p style="color: red; margin-left: 20px">This is a paragraph</p>

HTML 超链接(链接)

超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。

当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。

我们通过使用 <a> 标签在 HTML 中创建链接。

有两种使用 <a> 标签的方式:

  1. 通过使用 href 属性 - 创建指向另一个文档的链接

  2. 通过使用 name 属性 - 创建文档内的书签

HTML 链接语法

链接的 HTML 代码很简单。它类似这样:

<a href="url">Link text</a>

<a href="http://www.w3school.com.cn/">Visit W3School</a>

HTML 链接 - target 属性

使用 Target 属性,你可以定义被链接的文档在何处显示。

下面的这行会在新窗口打开文档:

<a href="http://www.w3school.com.cn/" target="_blank">Visit W3School!</a>

HTML 链接 - name 属性

name 属性规定锚(anchor)的名称。

您可以使用 name 属性创建 HTML 页面中的书签。

使用 id 属性来替代 name 属性,命名锚同样有效

命名锚的语法:

<a name="label">锚(显示在页面上的文本)</a>

图像标签(<img>)和源属性(Src)

在 HTML 中,图像由 <img> 标签定义。

<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。

要在页面上显示图像,你需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。

定义图像的语法是:

<img src="url" />

替换文本属性(Alt)

alt 属性用来为图像定义一串预备的可替换的文本。替换文本属性的值是用户定义的。

<img src="boat.gif" alt="Big Boat">

表格

表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

表格和边框属性

使用边框属性来显示一个带有边框的表格:

<table border="1"></table>

表格的表头

表格的表头使用 <th> 标签进行定义。

表格中的空单元格

在一些浏览器中,没有内容的表格单元显示得不太好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框。这个空的单元格的边框没有被显示出来。为了避免这种情况,在空单元格中添加一个空格占位符,就可以将边框显示出来。

<td> </td>

无序列表

无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。

无序列表始于 <ul> 标签。每个列表项始于 <li>。

<ul><li>Coffee</li><li>Milk</li></ul>

浏览器显示如下:

  • Coffee

  • Milk

列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

有序列表

同样,有序列表也是一列项目,列表项目使用数字进行标记。

有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。

<ol><li>Coffee</li><li>Milk</li></ol>

浏览器显示如下:

  1. Coffee

  2. Milk

列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

定义列表

自定义列表不仅仅是一列项目,而是项目及其注释的组合。

自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始。

<dl><dt>Coffee</dt><dd>Black hot drink</dd><dt>Milk</dt><dd>White cold drink</dd></dl>

浏览器显示如下:

Coffee

Black hot drink

Milk

White cold drink

定义列表的列表项内部可以使用段落、换行符、图片、链接以及其他列表等等

可以通过 <div> 和 <span> 将 HTML 元素组合起来。

HTML 块元素

大多数 HTML 元素被定义为块级元素或内联元素。

编者注:“块级元素”译为 block level element,“内联元素”译为 inline element。

块级元素在浏览器显示时,通常会以新行来开始(和结束)。

例子:<h1>, <p>, <ul>, <table>

HTML 内联元素

内联元素在显示时通常不会以新行开始。

例子:<b>, <td>, <a>, <img>

HTML <div> 元素

HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器。

<div> 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。

如果与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。

<div> 元素的另一个常见的用途是文档布局。它取代了使用表格定义布局的老式方法。使用 <table> 元素进行文档布局不是表格的正确用法。<table> 元素的作用是显示表格化的数据

HTML <span> 元素

HTML <span> 元素是内联元素,可用作文本的容器。

<span> 元素也没有特定的含义。

当与 CSS 一同使用时,<span> 元素可用于为部分文本设置样式属性。

HTML 表单用于搜集不同类型的用户输入

表单

表单是一个包含表单元素的区域。

表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。

表单使用表单标签(<form>)定义。

<form>... input 元素...</form>

输入

多数情况下被用到的表单标签是输入标签(<input>)。输入类型是由类型属性(type)定义的。大多数经常被用到的输入类型如下:

文本域(Text Fields)

当用户要在表单中键入字母、数字等内容时,就会用到文本域。

<form>First name: <input type="text" name="firstname" /><br />Last name: <input type="text" name="lastname" /></form>

单选按钮(Radio Buttons)

当用户从若干给定的的选择中选取其一时,就会用到单选框。

<form><input type="radio" name="sex" value="male" /> Male<br /><input type="radio" name="sex" value="female" /> Female</form>

复选框(Checkboxes)

当用户需要从若干给定的选择中选取一个或若干选项时,就会用到复选框。

<form><input type="checkbox" name="bike" />I have a bike<br /><input type="checkbox" name="car" />I have a car</form>

表单的动作属性(Action)和确认按钮

当用户单击确认按钮时,表单的内容会被传送到另一个文件。表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常会对接收到的输入数据进行相关的处理。

<form name="input" action="html_form_action.asp" method="get">Username: <input type="text" name="user" /><input type="submit" value="Submit" /></form>

框架

通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。每份HTML文档称为一个框架,并且每个框架都独立于其他的框架。

使用框架的坏处:

  • 开发人员必须同时跟踪更多的HTML文档

  • 很难打印整张页面

框架结构标签(<frameset>)

  • 框架结构标签(<frameset>)定义如何将窗口分割为框架

  • 每个 frameset 定义了一系列行或列

  • rows/columns 的值规定了每行或每列占据屏幕的面积

框架标签(Frame)

Frame 标签定义了放置在每个框架中的 HTML 文档。

在下面的这个例子中,我们设置了一个两列的框架集。第一列被设置为占据浏览器窗口的 25%。第二列被设置为占据浏览器窗口的 75%。HTML 文档 "frame_a.htm" 被置于第一个列中,而 HTML 文档 "frame_b.htm" 被置于第二个列中:

<frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"></frameset>

假如一个框架有可见边框,用户可以拖动边框来改变它的大小。为了避免这种情况发生,可以在 <frame> 标签中加入:noresize="noresize"。

为不支持框架的浏览器添加 <noframes> 标签。

iframe 用于在网页内显示网页

添加 iframe 的语法

<iframe src="URL"></iframe>

URL 指向隔离页面的位置。

Iframe - 设置高度和宽度

height 和 width 属性用于规定 iframe 的高度和宽度。

属性值的默认单位是像素,但也可以用百分比来设定(比如 "80%")。

实例

<iframe src="demo_iframe.htm" width="200" height="200"></iframe>

Iframe - 删除边框

frameborder 属性规定是否显示 iframe 周围的边框。

设置属性值为 "0" 就可以移除边框:

实例

<iframe src="demo_iframe.htm" frameborder="0"></iframe>

使用 iframe 作为链接的目标

iframe 可用作链接的目标(target)。

链接的 target 属性必须引用 iframe 的 name 属性:

实例

<iframe src="demo_iframe.htm" name="iframe_a"></iframe><p><a href="http://www.w3school.com.cn" target="iframe_a">W3School.com.cn</a></p>

背景(Backgrounds)

<body> 拥有两个配置背景的标签。背景可以是颜色或者图像。

背景颜色(Bgcolor)

背景颜色属性将背景设置为某种颜色。属性值可以是十六进制数、RGB 值或颜色名。

<body bgcolor="#000000"><body bgcolor="rgb(0,0,0)"><body bgcolor="black">

以上的代码均将背景颜色设置为黑色。

背景(Background)

背景属性将背景设置为图像。属性值为图像的URL。如果图像尺寸小于浏览器窗口,那么图像将在整个浏览器窗口进行复制。

<body background="clouds.gif"><body background="http://www.w3school.com.cn/clouds.gif">

URL可以是相对地址,如第一行代码。也可以使绝对地址,如第二行代码。

提示:如果你打算使用背景图片,你需要紧记一下几点:

  • 背景图像是否增加了页面的加载时间。小贴士:图像文件不应超过 10k。

  • 背景图像是否与页面中的其他图象搭配良好。

  • 背景图像是否与页面中的文字颜色搭配良好。

  • 图像在页面中平铺后,看上去还可以吗?

  • 对文字的注意力被背景图像喧宾夺主了吗?

基本的注意事项 - 有用的提示:

<body> 标签中的背景颜色(bgcolor)、背景(background)和文本(text)属性在最新的 HTML 标准(HTML4 和 XHTML)中已被废弃。W3C 在他们的推荐标准中已删除这些属性。

应该使用层叠样式表(CSS)来定义 HTML 元素的布局和显示属性

<!DOCTYPE> 声明帮助浏览器正确地显示网页。

HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。

<!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。

常用的声明

HTML5

<!DOCTYPE html>

HTML <head> 元素

<head> 元素是所有头部元素的容器。<head> 内的元素可包含脚本,指示浏览器在何处可以找到样式表,提供元信息,等等。

以下标签都可以添加到 head 部分:<title>、<base>、<link>、<meta>、<script> 以及 <style>。

HTML <title> 元素

<title> 标签定义文档的标题。

title 元素能够:

  • 定义浏览器工具栏中的标题

  • 提供页面被添加到收藏夹时显示的标题

  • 显示在搜索引擎结果中的页面标题

HTML <base> 元素

<base> 标签为页面上的所有链接规定默认地址或默认目标(target):

<head><base href="http://www.w3school.com.cn/images/" /><base target="_blank" /></head>

HTML <link> 元素

<link> 标签定义文档与外部资源之间的关系。

<link> 标签最常用于连接样式表:

<head><link rel="stylesheet" type="text/css" href="mystyle.css" /></head>

HTML <style> 元素

<style> 标签用于为 HTML 文档定义样式信息。

您可以在 style 元素内规定 HTML 元素在浏览器中呈现的样式:

<head><style type="text/css">body {background-color:yellow}p {color:blue}</style></head>

HTML <script> 元素

<script> 标签用于定义客户端脚本,比如 JavaScript。

script 元素既可包含脚本语句,也可通过 src 属性指向外部脚本文件。

必需的 type 属性规定脚本的 MIME 类型。

JavaScript 最常用于图片操作、表单验证以及内容动态更新。

HTML 实体

在 HTML 中,某些字符是预留的。

在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。

如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。

字符实体类似这样:

&entity_name;或者&#entity_number;

如需显示小于号,我们必须这样写:< 或 <

不间断空格(non-breaking space)

HTML 中的常用字符实体是不间断空格( )。

浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,您需要使用 字符实体。