【前端】【总复习】HTML

一、HTML(结构)

HTML 是网页的骨架,主要负责网页的结构与语义表达,为 CSS 和 JavaScript 提供承载基础。


1.1 HTML 基本结构与语义化标签

1.1.1 HTML 基本结构

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>文档标题</title>
</head>
<body>
  <h1>Hello HTML</h1>
</body>
</html>

🔹说明:

  • <!DOCTYPE html>:声明 HTML5 文档类型
  • <html>:HTML 文档根元素
  • <head>:文档头部,包含 meta、title、link 等信息
  • <body>:主体内容,浏览器显示的主要区域

1.1.2 语义化标签(Semantic Tags)

常见语义化标签:

标签 语义描述
<header> 页眉或导航区域
<nav> 导航链接块
<main> 页面主内容
<section> 页面中的区块
<article> 独立的文章内容块
<aside> 侧边栏(如广告、推荐)
<footer> 页脚信息

🔹好处:

  • 更易于搜索引擎抓取(SEO)
  • 提高可访问性(如屏幕阅读器识别)
  • 结构清晰,易于团队协作

1.2 表单相关元素与属性

HTML 表单用于收集用户输入,是前后端交互的基础。

1.2.1 常见元素

  • <input>:单行输入(类型众多)
  • <select>:下拉选择
  • <textarea>:多行文本输入
  • <label>:字段说明,增强可用性
  • <button> / <input type="submit">:提交按钮

1.2.2 <input> 常见类型

html 复制代码
<input type="text" />
<input type="email" />
<input type="password" />
<input type="checkbox" />
<input type="radio" />
<input type="number" />
<input type="file" />

1.2.3 关键属性

属性 说明
name 用于提交字段标识
value 默认值
placeholder 占位提示
required 是否必填
disabled 禁用
readonly 只读
autocomplete 自动补全
maxlength / minlength 输入长度限制

1.3 常见标签的用法

1.3.1 <meta> 标签

html 复制代码
<meta charset="UTF-8" />
<meta name="description" content="页面描述,有助于 SEO" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

1.3.2 <link> 标签

html 复制代码
<link rel="stylesheet" href="styles.css" />
<link rel="icon" href="favicon.ico" />

1.3.3 <canvas> 画布

html 复制代码
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
  const ctx = document.getElementById("myCanvas").getContext("2d");
  ctx.fillStyle = "red";
  ctx.fillRect(10, 10, 100, 50);
</script>

1.3.4 <iframe> 内嵌页面

html 复制代码
<iframe src="https://example.com" width="300" height="200"></iframe>

1.4 SEO 与可访问性(Accessibility)

1.4.1 SEO(搜索引擎优化)

要点 示例
使用语义化标签 <article>, <section>
正确使用标题标签 <h1><h6>
提供描述性 meta 标签 <meta name="description">
图片加 alt 文本 <img src="..." alt="描述">

1.4.2 可访问性

  • 使用 <label> 与表单元素关联:提高辅助技术兼容性
  • 使用 aria-* 属性增强无障碍访问
  • 保证对比度、结构清晰、键盘可操作

1.5 常见场景考点

1.5.1 禁用自动填充

html 复制代码
<input type="text" name="username" autocomplete="off" />

1.5.2 placeholder 与 label 的区别

比较项 placeholder label
展示方式 输入框内提示文字 输入框外说明文字
是否提交
可访问性 较差 较好(配合 for 使用)
推荐用法 仅作提示 用于表单说明,推荐

建议 :同时使用 label + placeholder,提升体验与可访问性:

html 复制代码
<label for="email">邮箱地址</label>
<input type="email" id="email" placeholder="请输入邮箱" />
相关推荐
郭老二1 小时前
【前端】vue3:编译步骤
前端
不在逃避q2 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁2 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9852 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易2 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师3 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174463 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈3 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen4 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒5 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端