面试必备HTML知识点

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 面试必备HTML知识点

html中src和href的区别

在HTML中,srchref 是两个不同的属性,用于引用外部资源,它们有不同的用途和适用于不同类型的HTML元素。

  1. src 属性(Source Attribute):
    示例:
<img src="image.jpg" alt="一张图片">
<script src="script.js"></script>
  • src 属性通常用于指定外部资源(如图像、音频、视频、脚本等)的路径,以便将其嵌入到HTML文档中或者用于在浏览器中加载和执行。这个属性告诉浏览器从指定的URL下载资源并嵌入到文档中。
  • src 属性适用于元素如 <img>, <audio>, <video>, <script> 等。

2.href 属性(Hypertext Reference Attribute):
示例:

<a href="https://www.example.com">前往示例网站</a>
<link rel="stylesheet" href="styles.css">
  • href 属性通常用于指定超链接的目标地址,用于导航到其他页面或资源。这个属性告诉浏览器在用户点击链接时应该打开的目标资源。
  • href 属性适用于元素如 <a>, <link>, <area>, <base> 等,用于定义超链接、外部样式表、区域链接和基本URL。

总结:

  • src 主要用于加载嵌入式资源,如图片和脚本等,浏览器会根据src属性加载资源并将其嵌入到文档中。
  • href 主要用于定义超链接和外部资源的引用,浏览器会根据href属性来导航到指定的资源或页面。

对HTML语义化的理解

HTML语义化是指在编写HTML代码时,使用合适的HTML元素来明确表示文档结构和内容的含义,以便浏览器和开发者能够更好地理解和处理文档。语义化的HTML代码具有以下重要特点和好处:

  1. 更好的可读性和可维护性: 语义化代码更容易理解,使开发人员能够快速了解文档的结构和内容。这有助于提高代码的可读性和可维护性。
  2. 改善搜索引擎优化(SEO): 使用语义化的标记可以使搜索引擎更容易理解页面的内容,从而提高页面在搜索结果中的排名。
  3. 增强可访问性: 语义化HTML可以改善网站的可访问性,使屏幕阅读器和其他辅助技术更容易解释和呈现页面内容,从而使网站对残障用户更友好。
  4. 设备兼容性: 语义化的代码通常在各种设备和浏览器中更一致地呈现,降低了跨浏览器兼容性问题的发生。
  5. 未来友好: 语义化的代码更容易与未来的HTML标准和新技术集成,因为它更清晰地定义了文档结构和内容。

示例:

<!-- 非语义化的示例 -->
<div id="header">
  <div id="logo">Logo</div>
  <div id="navigation">导航</div>
</div>
<div id="content">
  <div class="post">文章内容</div>
  <div class="post">另一篇文章内容</div>
</div>
<!-- 语义化的示例 -->
<header>
  <h1>网站标题</h1>
  <nav>导航</nav>
</header>
<main>
  <article>文章内容</article>
  <article>另一篇文章内容</article>
</main>

DOCTYPE(⽂档类型) 的作用

DOCTYPE(Document Type Declaration,文档类型声明)是一种位于HTML文档开头的特殊声明,用于指定文档所使用的HTML版本和规范。DOCTYPE告诉浏览器解析HTML文档时应该使用哪个DTD(文档类型定义)或者规范来解释文档的结构和语法。DOCTYPE的作用主要包括以下几个方面:

  1. 确定文档类型和版本: DOCTYPE声明告诉浏览器和解析器文档采用的HTML版本是哪个,这有助于浏览器正确渲染文档。不同的HTML版本有不同的规范和特性,因此正确的DOCTYPE有助于确保文档以正确的方式进行解析和呈现。
  2. 触发标准模式(Standards Mode): 正确的DOCTYPE声明可以触发浏览器进入标准模式,这意味着浏览器会按照HTML规范的标准来解释和呈现文档。这有助于确保跨浏览器的一致性和可预测性。
  3. 错误检查和验证: DOCTYPE可以帮助浏览器和工具验证文档的语法是否合法。如果文档的结构不符合所声明的DOCTYPE,浏览器通常会发出警告或错误信息,帮助开发者发现和修复问题。
  4. 提供DTD信息: DOCTYPE中包含的DTD地址可以帮助浏览器和解析器获取DTD规范的详细信息,以确保文档按照规范的方式进行解析和显示。

示例:HTML5的DOCTYPE声明

<!DOCTYPE html>
<html>
  <head>
    <title>示例文档</title>
  </head>
  <body>
    <!-- 文档内容 -->
  </body>
</html>

script标签中defer和async的区别

<script> 标签中的 deferasync 属性是用来控制脚本的加载和执行方式的两种不同方法,它们之间有以下区别:

  1. 执行顺序:
  • defer:脚本会被异步下载,但会在文档解析完毕(DOMContentLoaded事件触发之前)按照它们在文档中出现的顺序执行。多个带有 defer 属性的脚本会按照它们在文档中的顺序依次执行。
  • async:脚本也会被异步下载,但它们在下载完成后立即执行,不会等待文档的解析。多个带有 async 属性的脚本在下载完成后可以并行执行,执行顺序不受控制。
  1. 阻塞文档解析:
  • defer:脚本的下载和执行不会阻塞文档的解析。文档会继续解析和渲染,同时脚本在后台下载,然后在文档解析完毕后执行。
  • async:脚本的下载和执行会异步进行,不会阻塞文档的解析。文档会继续解析和渲染,同时脚本下载完成后立即执行。
  1. 适用场景:
  • defer 通常用于那些依赖于文档结构的脚本,例如操作DOM元素的脚本。它们会在文档解析完毕后按照顺序执行,确保能够访问到文档中的DOM元素。
  • async 通常用于那些不依赖于文档结构、可以独立运行的脚本,例如一些统计分析脚本,它们不需要等待文档解析,可以尽早下载和执行。

示例:

<!DOCTYPE html>
<html>
<head>
  <title>Script Loading Example</title>
  <script src="script1.js" defer></script>
  <script src="script2.js" defer></script>
  <script src="script3.js" async></script>
</head>
<body>
  <!-- 页面内容 -->
</body>
</html>

这个例子中,script1.jsscript2.js 带有 defer 属性,它们会按照顺序在文档解析完成后执行。而 script3.js 带有 async 属性,它会在下载完成后立即执行,不阻塞文档的解析。

常⽤的meta标签有哪些

<meta> 标签用于在HTML文档中提供元数据信息,这些信息通常不直接显示在页面上,而是用于描述文档的一些属性、设置字符编码、指定视口尺寸等。以下是一些常用的 <meta> 标签及其作用:

  1. 字符编码(Charset):指定文档的字符编码,确保浏览器正确解析和显示文档中的文本内容
<meta charset="UTF-8">

2.视口设置(Viewport):用于控制移动设备上的视口设置,确保网页在移动设备上以正确的尺寸和缩放级别显示。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

3.关键词和描述(Keywords and Description): 用于提供网页的关键词和描述信息,有助于搜索引擎索引和用户搜索结果的显示。

<meta name="keywords" content="关键词1, 关键词2, ...">
<meta name="description" content="网页描述">

4.作者和版权(Author and Copyright):用于指定文档的作者和版权信息。

<meta name="author" content="作者名">
<meta name="copyright" content="版权信息">

5.刷新和重定向(Refresh and Redirect):用于在指定的时间后自动刷新页面或进行重定向。

<meta http-equiv="refresh" content="5;url=http://example.com">


6.X-UA-Compatible(IE兼容模式):用于指定IE浏览器的兼容模式,通常用于确保使用最新的浏览器引擎。

<meta http-equiv="X-UA-Compatible" content="IE=edge">

7.禁止缓存(Cache Control):用于禁止浏览器缓存页面内容,以确保用户总是获取最新的页面版本。

<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">

HTML5有哪些更新

HTML5 是 HTML(超文本标记语言)的第五个主要版本,引入了许多新的特性和更新,旨在改善网页结构、功能和多媒体支持。以下是 HTML5 的一些重要更新和新特性:

  1. 语义元素: HTML5 引入了一些新的语义元素,如 <header><nav><main><article><section> 等,用于更清晰地表示文档的结构,提高可读性和可访问性。
  2. 多媒体支持: HTML5 提供了内置的多媒体支持,包括 <audio><video> 元素,允许在网页上嵌入音频和视频内容,而不需要依赖第三方插件(如Flash)。
  3. Canvas 和 SVG: HTML5 引入了 <canvas> 元素,使开发者可以通过JavaScript绘制图形、动画和图表。此外,HTML5还增强了对矢量图形的支持,通过 <svg> 元素可以创建可伸缩矢量图形。
  4. 本地存储: HTML5 提供了本地存储 API,包括 localStoragesessionStorage,允许网页在客户端存储数据,以提高性能和离线访问能力。
  5. Web Workers: HTML5 引入了 Web Workers,这是一种在后台运行的脚本,可以在主线程之外执行,以改善多线程处理和提高网页性能。
  6. 地理位置API: HTML5 提供了用于获取用户地理位置信息的 Geolocation API,允许网页根据用户的位置提供个性化的内容或服务。
  7. 表单元素增强: HTML5 引入了一些新的表单元素和属性,如 <input type="email"><input type="date"><input type="number"> 等,以简化表单输入和验证。
  8. 改进的网络支持: HTML5 引入了一些新的网络 API,如 WebSockets 和 Server-Sent Events,以支持实时通信和推送技术。
  9. 拖放 API: HTML5 提供了拖放 API,使网页能够轻松实现拖放操作,例如拖拽文件上传。
  10. 新的媒体元素: 除了 <audio><video>,HTML5 还引入了 <picture><source> 元素,以更好地处理响应式图像和多媒体内容。
  11. Web Storage: HTML5 引入了 localStoragesessionStorage,允许网页在客户端存储数据。

title与h1的区别、b与strong的区别、i与em的区别?

这些都是HTML中常见的标签,它们之间有一些重要的区别:

  1. <title><h1> 的区别:
    示例:
<title>网页标题</title>
<h1>这是主标题</h1>
<p>这是段落文本。</p>
  • <title> 标签用于指定网页的标题,这个标题通常显示在浏览器的标题栏或书签中,不直接显示在页面内容中。
  • <h1> 标签用于定义页面中的主标题(通常是页面的标题或主要部分的标题),它会直接显示在页面内容中,用于组织页面的结构和提供语义信息。

2.<b><strong> 的区别:
示例:

<p>这是一段 <b>粗体</b> 文本。</p>
<p>这是一段 <strong>重要</strong> 的文本。</p>
  • <b> 标签用于表示文本的粗体文本样式,但没有强调或语义上的重要性。它主要用于样式目的。
  • <strong> 标签用于强调文本的重要性或语义上的强调,通常会呈现为加粗文本,但它更强调内容的重要性,而不仅仅是样式。

3.<i><em> 的区别:
示例:

<p>这是一段 <i>斜体</i> 文本。</p>
<p>这是一段 <em>重要</em> 的文本。</p>
  • <i> 标签用于表示文本的斜体样式,但没有强调或语义上的重要性。它主要用于样式目的。
  • <em> 标签用于强调文本的重要性或语义上的强调,通常会呈现为斜体文本,但它更强调内容的重要性,而不仅仅是样式。
目录
相关文章
|
20天前
|
移动开发 前端开发 JavaScript
[HTML、CSS]知识点
本文涵盖前端知识点扩展、HTML标签(如video、input、canvas)、datalist和details标签的使用方法,以及CSS布局技巧(如margin、overflow: hidden和动态height)。文章旨在分享作者的学习经验和实用技巧。
30 1
[HTML、CSS]知识点
|
30天前
|
Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
30天前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
|
30天前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
|
1月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
27 3
|
1月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
25 2
|
1月前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
53 1
|
1月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
Android面试高频知识点(1) 图解 Android 事件分发机制
39 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
1月前
|
XML 前端开发 Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
下一篇
无影云桌面