HTML 面试真题

doctype 的意义是什么

HTML/XHTML/HTML5 的关系

HTML5 有什么变化

新的语义化元素

表单增强

引入了一些新的 input 元素的 type 属性:

表单验证

使得开发者能够更容易地在客户端对用户提交的表单数据进行验证,减轻服务器端的负担,提高用户体验(之前版本只能使用 JS/Regex 进行验证)。

注意

这些验证方法仅仅是对于简单的表单输入验证,安全性较低。

自动聚焦/placeholder

注意

placeholder 属性不应该被用作必填项的提示,因为这个属性只是提供了一个视觉上的提示,但不会对表单数据进行验证。如果想要标记必填项,应该使用 required 属性。

新 API 及其功能

元素分类

a 元素内容模型

在 HTML5 中,<a> 元素的 Content Model 被定义为 " 透明的(Transparent)",这使得它具有较强的灵活性和可嵌套性。

这意味着它可以包含大多数内容,其父元素所允许的内容也可以放置在 <a> 元素内部。

例如,<a> 元素放在 <div> 可以包含文本、图像、其他嵌套的元素,以及其他链接元素等。

em 和 i 有什么区别

em vs i

在 HTML5 中,<i> 元素用于表示与周围文本不同的一些文字,通常表现为斜体。然而 <i> 元素并不是用来强调或者表示强调的文本,应该使用 <em> 元素来实现这种效果。

<p> 在计算机科学中,<i> 递归</i> 是一种常见的算法。</p> 
<p> "Bonjour"是法语中的<i> 你好</i> 。</p> 

<i> 元素用于表示特定术语或外语单词,这些文本片段与周围文本不同,但也不需要强调。在视觉上,浏览器通常会将 <i> 元素中的文本呈现为斜体。

语义化的意义是什么

语义化

HTML 语义化指的是在 HTML 文档中使用恰当的元素和属性,以便更清晰地描述文档的结构和内容。这样做可以提高文档的可读性和可访问性,并有助于搜索引擎更好地理解文档内容。

semantic

HTML5 中引入了一些新的语义化元素,这些元素使得我们可以更加清晰地描述文档的结构和内容。以下是 HTML5 中的一些常用语义化元素:

  1. <header>: 用于定义文档或节的页眉部分。
  2. <nav>: 用于定义导航链接的部分。
  3. <section>: 用于定义文档中的节或区块。
  4. <article>: 用于定义文档中的一篇独立的文章或内容块。
  5. <aside>: 用于定义页面或文章的侧边栏部分。
  6. <footer>: 用于定义文档或节的页脚部分。
  7. <main>: 用于定义文档的主要内容。

这些语义化元素的引入可以使得 HTML 文档更加清晰和易于理解,同时也有利于搜索引擎和其他程序更好地理解文档的内容。在使用这些元素时,我们需要根据文档的实际结构和内容来选择合适的元素,以便更好地描述文档的语义。同时也要注意,这些语义化元素的引入并不意味着我们应该完全放弃使用其他元素,而是要在使用上更加注重语义化的考虑。

microdata

在 HTML5 中,可以使用语义化标记和微数据(Microdata)来进一步提高文档的语义化。Microdata 是一种在 HTML 标记中嵌入语义信息的方法,它可以描述文档中的实体、属性和关系,并以结构化的方式呈现这些信息。

使用 Microdata 的步骤如下:

  1. 定义实体:在文档中定义实体(如人、组织、事件等)并为其添加属性(如名称、日期、地点等)。
  2. 描述关系:将实体之间的关系(如作为作者或演员)描述出来。
  3. 用 itemtype 属性声明实体类型,用 itemprop 属性声明属性,用 itemscope 属性指定所定义的实体。

例如,以下是一个使用 Microdata 的示例:

<article itemscope itemtype="http://schema.org/Article">
  <h1 itemprop="headline">文章标题</h1>
  <p>这是一篇关于某个主题的文章。</p>
  <div itemprop="author" itemscope itemtype="http://schema.org/Person">
    <p><span itemprop="name">作者名</span>写作</p>
  </div>
  <time itemprop="datePublished" datetime="2023-02-14">发布时间:2023 年 2 月 14 日</time>
</article>

在这个例子中

这些属性都使用了 Schema.org 的类型和属性名。

通过使用语义化标记和 Microdata,我们可以更准确地描述文档中的内容和结构,从而提高文档的可读性和可访问性,同时也有助于搜索引擎更好地理解文档的内容。

哪些元素可以自闭合

在 HTML 中,有一些元素可以自闭合,即不需要使用闭合标签来结束该元素。HTML5 中可以自闭合的元素包括:

需要注意的是,尽管这些元素可以自闭合,但并不意味着它们必须自闭合。在编写 HTML 代码时,可以根据个人偏好和标准的约定来选择是否自闭合这些元素。另外,对于自闭合元素来说,它们的属性值必须紧贴着元素名称,不能在中间添加空格或换行符等空白字符。

例如,下面是一个使用自闭合的 <br> 元素的示例:

<p>这是一段文本。<br /></p>

而以下示例中的 <br> 元素没有自闭合,而是使用了标准的闭合标签:

<p>这是一段文本。<br /></p>

总之,对于可以自闭合的元素,在编写 HTML 代码时可以根据个人偏好和标准的约定来选择是否自闭合,但需要确保它们的属性值紧贴着元素名称,且不能在中间添加空格或换行符等空白字符。

HTML 和 DOM 的关系

property 和 attribute 的区别

form 的作用有哪些

HTML 中的表单(form)元素允许用户在 Web 页面上输入和提交数据。表单由多个表单控件(form controls)组成,例如文本框、单选按钮、复选框、下拉列表等等。当用户填写表单并提交数据时,浏览器将该数据打包并发送到指定的目标 URL 或 Web 服务器上,从而实现数据的提交和处理。

表单的主要作用如下:

总之,表单是 Web 开发中非常重要和常用的元素,它可以帮助开发人员实现用户数据的收集和处理,从而实现各种功能和交互效果。