HTML核心知识点笔记

📝 HTML 核心知识点笔记


一、HTML 基础概念

1.1 什么是 HTML

HTML 全称 HyperText Markup Language(超文本标记语言),是构建网页的标准标记语言。它不是编程语言 ,而是一种标记语言,通过一系列**标签(Tags)**来描述网页的结构和内容。

1.2 HTML 文档基本结构

一个标准的 HTML5 文档由以下几个部分组成:

  • <!DOCTYPE html>:文档类型声明,必须放在文档第一行,告诉浏览器使用 HTML5 标准解析页面。它不是标签,而是一条指令。
  • <html> :根元素,包裹整个页面内容。通过 lang 属性声明页面语言,如 lang="zh-CN" 表示中文页面。
  • <head> :头部区域,包含页面的元信息(如字符编码、标题、样式引入等),不会直接显示在页面上。
    • <meta charset="UTF-8">:声明字符编码,UTF-8 支持中文等多语言字符。
    • <meta name="viewport" content="width=device-width, initial-scale=1.0">:视口设置,响应式设计必备。
    • <title>:定义浏览器标签页上显示的标题。
  • <body>:主体区域,所有用户可见的页面内容都写在这里。

二、常用文本标签

2.1 标题标签

HTML 提供了六个级别的标题标签,从 <h1><h6>,字号依次递减,重要性也依次降低。一个页面通常只使用一个 <h1> 作为主标题。

2.2 段落与文本格式化

  • <p>:定义段落,浏览器会自动在段落前后添加一定的间距。
  • <br>:换行标签,属于空标签(无需闭合)。
  • <hr>:水平分割线,用于主题分隔。

文本格式化标签分为有语义无语义两类:

效果 有语义(推荐) 无语义
加粗 <strong>(表示强调) <b>
斜体 <em>(表示强调) <i>
高亮 <mark> ---
删除线 <del>(表示删除) <s>
下划线 <ins>(表示插入) <u>
上标/下标 <sup> / <sub> ---

2.3 特殊字符(HTML 实体)

在 HTML 中某些字符有特殊含义(如 < >),如果需要在页面上显示它们,需要使用实体名称或编号。常用的有:

要显示的字符 实体名称 实体编号
空格 &nbsp; &#160;
< &lt; &#60;
> &gt; &#62;
& &amp; &#38;
" &quot; &#34;
© &copy; &#169;

三、链接与图片

3.1 超链接 <a>

<a> 标签用于创建超链接,核心属性是 href,指定链接目标地址。

常用属性:

  • href :链接地址,可以是网页 URL、页面内锚点(如 #section1)、邮箱(mailto:xxx@xx.com)、电话(tel:10086)等。
  • target :控制链接打开方式。_self 为当前窗口打开(默认),_blank 为新标签页打开。
  • rel :声明与目标页面的关系,外部链接建议加上 rel="noopener" 以提升安全性。
  • download:指定该链接为下载链接,属性值可设置下载后的默认文件名。

锚点跳转 :先给目标元素设置 id(如 id="section1"),然后用 <a href="#section1"> 即可实现页面内跳转。

3.2 图片 <img>

<img> 是一个空标签(无需闭合),用于在页面中嵌入图片。

核心属性:

  • src(必需):图片路径,支持相对路径、绝对路径和网络地址。
  • alt :替代文本,图片无法加载时显示。非常重要------屏幕阅读器会读取它、搜索引擎会用它做索引,不应省略。
  • title:鼠标悬停时显示的提示文字。
  • width / height:设置图片宽高。
  • loading="lazy":HTML5 原生懒加载,图片进入视口时才加载,提升页面性能。

图片路径写法: ./ 表示当前目录,../ 表示上级目录,images/photo.jpg 表示子目录,/ 开头表示根目录。


四、列表

4.1 无序列表 <ul>

<ul> 包裹,每个列表项用 <li> 表示。默认带有圆点标记,常用于导航菜单、商品列表等无顺序要求的内容。

4.2 有序列表 <ol>

<ol> 包裹,每个列表项同样用 <li> 表示。默认带有数字编号。

<ol> 支持以下属性:

  • type :编号样式,可选值有 1(数字)、a(小写字母)、A(大写字母)、i(小写罗马数字)、I(大写罗马数字)。
  • start:起始编号。
  • reversed:倒序排列。

4.3 定义列表 <dl>

用于术语解释或键值对展示,由三部分组成:

  • <dl>:定义列表容器。
  • <dt>:定义术语(term)。
  • <dd>:术语的描述/定义(description)。

例如:<dl> 中包含 <dt>HTML</dt><dd>超文本标记语言,用于构建网页结构。</dd>


五、表格

表格用于展示结构化的行列数据,由以下标签构成:

  • <table>:表格容器。
  • <caption> :表格标题,放在 <table> 内部第一行。
  • <thead>:表头区域,通常包含列标题。
  • <tbody>:表体区域,包含实际数据行。
  • <tfoot>:表尾区域,常用于汇总信息。
  • <tr>:表格行(table row)。
  • <th>:表头单元格(table header),默认加粗居中。
  • <td>:普通数据单元格(table data)。

合并单元格:

  • rowspan="n":跨 n 行合并(向下合并)。
  • colspan="n":跨 n 列合并(向右合并)。

💡 合并口诀:rowspan 管纵向,colspan 管横向。被"吃掉"的单元格要删除,否则会多出来。


六、表单(重点)

6.1 表单基本结构

<form> 标签是所有表单控件的容器,核心属性有三个:

  • action:表单数据提交的目标 URL。
  • method :提交方式。GET 将参数拼接在 URL 中,适合查询;POST 将参数放在请求体中,适合提交敏感或大量数据。
  • enctype :编码类型。当表单包含文件上传时,必须设为 multipart/form-data

6.2 输入控件 <input>

<input> 是表单中最常用的控件,通过 type 属性决定输入类型:

type 值 用途 常用属性
text 单行文本 placeholdermaxlength
password 密码 minlengthmaxlength
email 邮箱(自动验证格式) placeholder
number 数字 minmaxstep
date 日期选择器 ---
datetime-local 日期+时间 ---
color 颜色选择器 value(默认颜色)
range 滑块 minmaxvalue
file 文件上传 accept(限制文件类型)、multiple(多选)
hidden 隐藏字段 用于传递不展示给用户的数据
radio 单选框 name 相同才能互斥,checked 设置默认选中
checkbox 复选框 name 相同为一组,checked 设置默认选中
submit 提交按钮 value 设置按钮文字
reset 重置按钮 将所有控件恢复为默认值

6.3 其他表单控件

  • <select> :下拉选择框,内部用 <option> 定义选项,<optgroup> 可对选项分组。添加 multiple 属性可支持多选。
  • <textarea> :多行文本域,通过 rowscols 设置大小。
  • <button> :按钮,type 可以是 submit(提交)、reset(重置)或 button(普通按钮,常配合 JS 使用)。

6.4 <label> 标签

<label> 用于为表单控件添加标注文字,有两种关联方式:

  • 方式一<label>for 属性值与输入控件的 id 值一致。
  • 方式二 :将输入控件直接包裹在 <label> 内部。

好处是:点击 label 文字时,关联的输入框会自动获得焦点,提升用户体验和可访问性。

6.5 HTML5 表单验证属性

  • required:必填字段。
  • pattern:正则表达式验证。
  • title:验证失败时的提示文字。
  • autocomplete :控制是否启用浏览器自动补全(on / off)。
  • autofocus:页面加载后自动聚焦到该控件。

七、语义化标签(HTML5)

7.1 为什么要语义化?

  • 对开发者:代码结构清晰,便于阅读、维护和团队协作。
  • 对搜索引擎(SEO):帮助搜索引擎更好地理解页面内容结构,提升搜索排名。
  • 对无障碍访问:屏幕阅读器等辅助工具能更准确地解析页面,服务视障用户。

7.2 常用语义化标签

标签 用途
<header> 页面或区域的头部,通常包含 Logo、导航等
<nav> 导航链接区域
<main> 页面主要内容区域,一个页面只能有一个
<article> 独立的、可复用的内容块(如博客文章、新闻报道)
<section> 文档中的独立章节或区块
<aside> 侧边栏或与主内容间接相关的内容
<footer> 页面或区域的底部,通常包含版权、联系方式等
<figure> 独立的内容单元(如图片、代码片段)
<figcaption> <figure> 的标题或说明文字
<details> 可折叠的详细信息区域
<summary> <details> 的摘要标题,点击可展开/折叠
<mark> 高亮标记文本
<time> 表示时间或日期
<progress> 进度条
<meter> 度量衡显示(如磁盘用量、评分等)

7.3 经典页面布局结构

一个语义化的页面通常按如下层次组织:

  • 最外层 <body> 中包含 <header><main><footer> 三大区域。
  • <header> 内放 <nav> 导航。
  • <main> 内放 <article>(主体内容)和 <aside>(侧边栏)。
  • <article> 内可用 <section> 划分章节。

八、多媒体标签

8.1 音频 <audio>

用于在页面中嵌入音频内容,常用属性有:

  • controls:显示播放控件(播放/暂停按钮、进度条、音量等)。
  • autoplay :自动播放(现代浏览器要求必须配合 muted 才允许自动播放)。
  • loop:循环播放。
  • muted:默认静音。
  • preload :预加载策略,可选 auto(全部预加载)、metadata(仅加载元信息)、none(不预加载)。

内部用 <source> 标签指定音频文件,可提供多种格式(如 mp3、ogg)以兼容不同浏览器。

8.2 视频 <video>

用法与 <audio> 类似,额外支持:

  • width / height:设置播放器尺寸。
  • poster:视频封面图,在视频未播放时显示。

同样用 <source> 提供多种格式(如 mp4、webm)以保证兼容性。

8.3 嵌入内容

  • <iframe> :嵌入外部页面,常用属性有 src(嵌入地址)、widthheightframeborder(边框)。
  • <svg> :内联 SVG 矢量图形,可直接在 HTML 中绘制图形(如圆形 <circle>、矩形 <rect> 等)。

九、块级元素与行内元素

HTML 中的元素按显示方式大致分为两类:

块级元素(Block)

  • 独占一行,前后会自动换行。
  • 可以设置宽高,宽高设置生效。
  • 上下 margin 和 padding 均有效。
  • 可以包含行内元素和其他块级元素
  • 典型标签:divph1~h6uloltableformheaderfootersectionarticle 等。

行内元素(Inline)

  • 不独占一行,与其他行内元素排在同一行。
  • 设置宽高无效,宽高由内容决定。
  • 上下 margin 无效,上下 padding 虽然可见但不影响周围元素的布局。
  • 一般不能包含块级元素
  • 典型标签:spanastrongemimginputlabelbr 等。

通用容器

  • <div>:通用块级容器,没有语义,常用于页面布局分组。
  • <span>:通用行内容器,没有语义,常用于对部分文字添加样式。
相关推荐
cindershade10 小时前
用原生 HTML5 视频与 Canvas 实现浏览器端视频抽帧封面
前端
笨鸟先飞,勤能补拙10 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
NutShell Wang10 小时前
Wails v3 Beta 实战:用显式对象模型重写你的第一个 Go 桌面应用
前端·人工智能·go·vibe coding
cindershade10 小时前
前端国际化工程实践:语言包拆分、动态加载与日期数字格式统一
前端
kisbad10 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
qq_2676128910 小时前
Gitee CodePecker行业场景化落地指南:金融、车联网与IoT双引擎选型与工程化路径
前端·gitee·自动化
初晨未凉10 小时前
elementui自定义内容图片预览
前端
demodeom11 小时前
Win11 + RTX 5080 本地 Coding 模型测试笔记(已弃坑)
笔记
无糖可可果12 小时前
从零读懂一个 Next.js 全栈笔记应用
前端
Maxkim12 小时前
DeepSeek Harness 源码深度分析:像 VS Code 一样插件化的 Agent 框架
前端·架构