html学习笔记
一、HTML 基础:构建网页骨架
1.1 HTML 基本结构
1 |
|
- 关键标签解析:
<!DOCTYPE html>:声明 HTML5 文档类型<html lang="zh-CN">:定义网页语言(有助于 SEO 和屏幕阅读器)<meta charset="UTF-8">:设置字符编码(避免乱码)<meta name="viewport">:响应式设计必备,控制视口缩放
1.2 文本与排版标签
标题标签(语义化层级)
1 | <h1>主标题(最大层级)</h1> |
- 建议:一个页面仅使用 1 个
<h1>,层级需连续(避免 h1→h3 跳跃)
段落与换行
1 | <p>这是一个段落,段落内文本会自动换行<br>如需强制换行使用br标签</p> |
强调与格式化
| 标签 | 语义 | 示例 |
|---|---|---|
<strong> |
重要内容(加粗) | 重点 |
<em> |
强调语气(斜体) | 强调 |
<code> |
代码片段 | let a=1; |
<mark> |
高亮文本 | 高亮 |
二、HTML 核心标签:丰富页面内容
2.1 媒体元素
图片标签(关键属性)
1 | <img |
- 最佳实践:使用 WebP 格式图片,配合
<picture>标签实现响应式图片
视频与音频
1 | <video controls width="640" poster="preview.jpg"> |
2.2 超链接与导航
基础链接
1 | <a |
锚点链接(页面内导航)
1 | <a href="#section2">跳转到第二节</a> |
2.3 列表系统
无序列表(项目符号)
1 | <ul> |
有序列表(编号列表)
1 | <ol type="A"> |
自定义列表
1 | <dl> |
三、HTML 表单:交互核心
3.1 表单基础结构
1 | <form |
3.2 常用表单控件
输入框
1 |
|
下拉菜单
1 | <select name="country" multiple> |
文本域
1 | <textarea |
3.3 无障碍优化
- 使用
<label>标签关联表单控件(点击文本可激活输入框)
1 | <label for="email">邮箱地址:</label> |
- 为必填项添加
required属性 - 提供实时验证提示(配合 JavaScript)
四、HTML5 语义化:提升可访问性
4.1 语义化布局标签
| 标签 | 用途描述 |
|---|---|
<header> |
页面头部(导航、标题) |
<nav> |
导航菜单区域 |
<main> |
主内容区域(唯一) |
<section> |
独立章节(可重复使用) |
<article> |
独立文章 / 内容块 |
<aside> |
侧边栏(相关但非核心) |
<footer> |
页面底部(版权信息) |
示例结构:
1 | <header> |
4.2 增强可访问性
- 为多媒体添加
<figcaption>图文说明
1 | <figure> |
- 使用
<abbr>标签定义缩写
1 | <abbr title="超文本标记语言">HTML</abbr> |
五、实战项目:猫咪相册应用(参考 FreeCodeCamp 课程)
项目结构规划
1 |
|
关键知识点应用
- 使用语义化标签构建页面结构
- 图片标签的
alt属性确保无障碍 - 通过
<figure>+<figcaption>实现图文分组 - 为后续 CSS 布局预留类名(如
.gallery)
六、开发工具与最佳实践
6.1 推荐工具
- 代码编辑器:VSCode(安装 Live Server 插件实时预览)
- 调试工具:浏览器开发者工具(F12)
- 验证工具:W3C HTML 验证器
6.2 最佳实践
- 始终使用小写标签名(HTML5 不区分大小写,但统一小写更规范)
- 为标签添加闭合符(即使空标签如
<img>也需自闭合) - 避免使用过时标签(如
<center>,改用 CSS 实现布局) - 定期清理无效注释和冗余代码
七、常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 图片无法显示 | 路径错误 / 文件缺失 | 检查src路径是否正确 |
| 表单提交失败 | action地址错误 / 方法不匹配 |
确认后端接口地址和method类型 |
| 文字乱码 | 字符编码错误 | 确保<meta charset>设置正确 |
| 页面不响应式 | 缺少视口元标签 | 添加<meta name="viewport">标签 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TouHouQing's Blog!
评论



