完整HTML模板设计.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. <!--
  2. 这是一个HTML综合学习文档模板,包含了HTML5的基本结构、文本标签、多媒体标签、表单元素、HTML5语义化标签等内容。
  3. 每个部分都配有详细注释,便于学习和理解。
  4. -->
  5. <!DOCTYPE html>
  6. <html lang="zh-CN">
  7. <head>
  8. <!-- 设置字符编码为UTF-8 -->
  9. <meta charset="UTF-8">
  10. <!-- 设置视口,保证移动端自适应 -->
  11. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  12. <!-- 页面标题 -->
  13. <title>HTML综合学习文档</title>
  14. <!-- 引入Font Awesome图标库 -->
  15. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  16. <link rel="stylesheet" href="完整HTML模板设计.css">
  17. </head>
  18. <body>
  19. <!-- 页头区域,包含logo和主题切换按钮 -->
  20. <header>
  21. <div class="logo">
  22. <i class="fab fa-html5"></i>
  23. <span>HTML综合学习文档</span>
  24. </div>
  25. <button class="theme-toggle" id="themeToggle">
  26. <i class="fas fa-moon"></i>
  27. <span>暗色模式</span>
  28. </button>
  29. </header>
  30. <!-- 侧边栏导航,包含各章节锚点 -->
  31. <aside>
  32. <div class="sidebar-section">
  33. <h3><i class="fas fa-book"></i> HTML基础</h3>
  34. <ul class="sidebar-links">
  35. <li><a href="#basic-structure"><i class="fas fa-code"></i> 基本结构标签</a></li>
  36. <li><a href="#text-tags"><i class="fas fa-heading"></i> 文本标签</a></li>
  37. <li><a href="#multimedia"><i class="fas fa-image"></i> 多媒体标签</a></li>
  38. <li><a href="#links"><i class="fas fa-link"></i> 超链接标签</a></li>
  39. <li><a href="#tables"><i class="fas fa-table"></i> 表格标签</a></li>
  40. <li><a href="#lists"><i class="fas fa-list"></i> 列表标签</a></li>
  41. </ul>
  42. </div>
  43. <div class="sidebar-section">
  44. <h3><i class="fas fa-edit"></i> 表单元素</h3>
  45. <ul class="sidebar-links">
  46. <li><a href="#forms"><i class="fas fa-window-maximize"></i> 表单基础</a></li>
  47. <li><a href="#inputs"><i class="fas fa-keyboard"></i> 输入类型</a></li>
  48. <li><a href="#html5-forms"><i class="fab fa-html5"></i> HTML5表单</a></li>
  49. </ul>
  50. </div>
  51. <div class="sidebar-section">
  52. <h3><i class="fas fa-star"></i> HTML5特性</h3>
  53. <ul class="sidebar-links">
  54. <li><a href="#html5-tags"><i class="fas fa-tags"></i> 语义化标签</a></li>
  55. <li><a href="#multimedia"><i class="fas fa-play-circle"></i> 音视频</a></li>
  56. <li><a href="#html5-apis"><i class="fas fa-cogs"></i> 新API</a></li>
  57. </ul>
  58. </div>
  59. </aside>
  60. <!-- 主内容区域,包含各知识点详细内容 -->
  61. <main>
  62. <!-- HTML基本结构部分 -->
  63. <section id="basic-structure" class="section-card">
  64. <h2><i class="fas fa-code"></i> HTML基本结构标签</h2>
  65. <!-- 基本结构标签表格 -->
  66. <table>
  67. <thead>
  68. <tr>
  69. <th>标签名</th>
  70. <th>定义</th>
  71. <th>说明</th>
  72. </tr>
  73. </thead>
  74. <tbody>
  75. <tr>
  76. <td>&lt;html&gt;&lt;/html&gt;</td>
  77. <td>HTML标签</td>
  78. <td>页面中最大的标签,称为根标签</td>
  79. </tr>
  80. <tr>
  81. <td>&lt;head&gt;&lt;/head&gt;</td>
  82. <td>文档的头部</td>
  83. <td>必须设置title标签</td>
  84. </tr>
  85. <tr>
  86. <td>&lt;title&gt;&lt;/title&gt;</td>
  87. <td>文档的标题</td>
  88. <td>页面标题</td>
  89. </tr>
  90. <tr>
  91. <td>&lt;body&gt;&lt;/body&gt;</td>
  92. <td>文档的主体</td>
  93. <td>包含文档的所有内容</td>
  94. </tr>
  95. </tbody>
  96. </table>
  97. <!-- 基本结构代码示例 -->
  98. <h3>基本结构示例:</h3>
  99. <div class="code-block">
  100. &lt;!DOCTYPE html&gt;
  101. &lt;html lang="zh-CN"&gt;
  102. &lt;head&gt;
  103. &lt;meta charset="UTF-8"&gt;
  104. &lt;title&gt;页面标题&lt;/title&gt;
  105. &lt;/head&gt;
  106. &lt;body&gt;
  107. &lt;h1&gt;我的第一个网页&lt;/h1&gt;
  108. &lt;p&gt;欢迎来到我的网站!&lt;/p&gt;
  109. &lt;/body&gt;
  110. &lt;/html&gt;
  111. </div>
  112. </section>
  113. <!-- 文本标签部分 -->
  114. <section id="text-tags" class="section-card">
  115. <h2><i class="fas fa-heading"></i> 文本标签</h2>
  116. <!-- 标题标签示例 -->
  117. <h3>标题标签 &lt;h1&gt; 到 &lt;h6&gt;</h3>
  118. <div class="tag-example">
  119. <h1>一级标题</h1>
  120. <h2>二级标题</h2>
  121. <h3>三级标题</h3>
  122. <h4>四级标题</h4>
  123. <h5>五级标题</h5>
  124. <h6>六级标题</h6>
  125. </div>
  126. <!-- 文本格式化标签表格 -->
  127. <h3>文本格式化标签</h3>
  128. <table>
  129. <thead>
  130. <tr>
  131. <th>语义</th>
  132. <th>标签</th>
  133. <th>说明</th>
  134. </tr>
  135. </thead>
  136. <tbody>
  137. <tr>
  138. <td>加粗</td>
  139. <td>&lt;strong&gt; 或 &lt;b&gt;</td>
  140. <td>推荐使用 &lt;strong&gt; 语义更强烈</td>
  141. </tr>
  142. <tr>
  143. <td>倾斜</td>
  144. <td>&lt;em&gt; 或 &lt;i&gt;</td>
  145. <td>推荐使用 &lt;em&gt; 语义更强烈</td>
  146. </tr>
  147. <tr>
  148. <td>删除线</td>
  149. <td>&lt;del&gt; 或 &lt;s&gt;</td>
  150. <td>推荐使用 &lt;del&gt; 语义更强烈</td>
  151. </tr>
  152. <tr>
  153. <td>下划线</td>
  154. <td>&lt;ins&gt; 或 &lt;u&gt;</td>
  155. <td>推荐使用 &lt;ins&gt; 语义更强烈</td>
  156. </tr>
  157. </tbody>
  158. </table>
  159. <!-- 文本格式化标签示例 -->
  160. <div class="tag-example">
  161. <p><strong>加粗文本</strong> 和 <b>加粗文本</b></p>
  162. <p><em>倾斜文本</em> 和 <i>倾斜文本</i></p>
  163. <p><del>删除线文本</del> 和 <s>删除线文本</s></p>
  164. <p><ins>下划线文本</ins> 和 <u>下划线文本</u></p>
  165. </div>
  166. <!-- div和span标签示例 -->
  167. <h3>&lt;div&gt; 和 &lt;span&gt; 标签</h3>
  168. <div class="tag-example">
  169. <div style="background: #e0e0e0; padding: 10px; margin-bottom: 10px;">
  170. 这是一个div块级元素,通常用于布局容器
  171. </div>
  172. <p>这是一段文本,其中<span style="color: red; font-weight: bold;">span元素</span>用于对文本的一部分进行样式设置。</p>
  173. </div>
  174. </section>
  175. <!-- 多媒体标签部分 -->
  176. <section class="section-card">
  177. <h2><i class="fas fa-image"></i> 多媒体标签</h2>
  178. <!-- 图像标签说明与示例 -->
  179. <h3>图像标签 &lt;img&gt;</h3>
  180. <div class="flex" id="multimedia">
  181. <div style="flex: 1;">
  182. <h4>图像属性:</h4>
  183. <ul>
  184. <li><strong>src</strong>:图像路径(必须)</li>
  185. <li><strong>alt</strong>:替代文本(图像无法显示时)</li>
  186. <li><strong>title</strong>:悬停提示文本</li>
  187. </ul>
  188. <h4 class="mt-2">路径示例:</h4>
  189. <div class="example-box">
  190. <p>&lt;img src="image.jpg" alt="描述"&gt; <span style="color: green;">// 同一级路径</span></p>
  191. <p>&lt;img src="images/image.jpg"&gt; <span style="color: green;">// 下一级路径</span></p>
  192. <p>&lt;img src="../image.jpg"&gt; <span style="color: green;">// 上一级路径</span></p>
  193. </div>
  194. </div>
  195. <div style="flex: 1; text-align: center;">
  196. <img src="https://via.placeholder.com/300x200" alt="占位图像" title="这是一个示例图像"
  197. style="max-width: 100%; border-radius: var(--border-radius);">
  198. <p class="text-center mt-2">示例图像</p>
  199. </div>
  200. </div>
  201. <!-- 音频标签说明与示例 -->
  202. <h3>音频标签 &lt;audio&gt;</h3>
  203. <div class="flex">
  204. <div style="flex: 1;">
  205. <h4>属性:</h4>
  206. <ul>
  207. <li><strong>src</strong>:音频URL(必须)</li>
  208. <li><strong>controls</strong>:显示控制面板</li>
  209. <li><strong>loop</strong>:循环播放</li>
  210. <li><strong>autoplay</strong>:自动播放</li>
  211. </ul>
  212. </div>
  213. <div style="flex: 1;">
  214. <audio controls style="width: 100%;">
  215. <source src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3" type="audio/mpeg">
  216. 您的浏览器不支持音频元素。
  217. </audio>
  218. </div>
  219. </div>
  220. <!-- 视频标签说明与示例 -->
  221. <h3>视频标签 &lt;video&gt;</h3>
  222. <div class="flex">
  223. <div style="flex: 1;">
  224. <h4>属性:</h4>
  225. <ul>
  226. <li><strong>src</strong>:视频URL(必须)</li>
  227. <li><strong>controls</strong>:显示控制面板</li>
  228. <li><strong>muted</strong>:静音播放</li>
  229. <li><strong>loop</strong>:循环播放</li>
  230. <li><strong>autoplay</strong>:自动播放</li>
  231. <li><strong>poster</strong>:加载等待画面</li>
  232. </ul>
  233. </div>
  234. <div style="flex: 1;">
  235. <video controls width="100%" poster="https://via.placeholder.com/300x200">
  236. <source src="https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
  237. type="video/mp4">
  238. 您的浏览器不支持视频元素。
  239. </video>
  240. </div>
  241. </div>
  242. </section>
  243. <!-- 表单部分 -->
  244. <section id="forms" class="section-card">
  245. <h2><i class="fas fa-window-maximize"></i> 表单元素</h2>
  246. <!-- 表单标签属性表格 -->
  247. <h3>表单域 &lt;form&gt;</h3>
  248. <table>
  249. <thead>
  250. <tr>
  251. <th>属性</th>
  252. <th>值</th>
  253. <th>作用</th>
  254. </tr>
  255. </thead>
  256. <tbody>
  257. <tr>
  258. <td>action</td>
  259. <td>url地址</td>
  260. <td>指定处理表单数据的服务器URL</td>
  261. </tr>
  262. <tr>
  263. <td>method</td>
  264. <td>get/post</td>
  265. <td>设置表单数据的提交方式</td>
  266. </tr>
  267. <tr>
  268. <td>name</td>
  269. <td>名称</td>
  270. <td>指定表单名称,区分多个表单</td>
  271. </tr>
  272. </tbody>
  273. </table>
  274. <!-- 输入元素示例表单 -->
  275. <h3>输入元素 &lt;input&gt;</h3>
  276. <form id="exampleForm" class="tag-example">
  277. <div class="form-group">
  278. <label for="username">用户名:</label>
  279. <input type="text" id="username" name="username" placeholder="请输入用户名">
  280. </div>
  281. <div class="form-group">
  282. <label for="password">密码:</label>
  283. <input type="password" id="password" name="password" placeholder="请输入密码">
  284. </div>
  285. <div class="form-group">
  286. <label>性别:</label>
  287. <div style="display: flex; gap: 15px; margin-top: 8px;">
  288. <label style="display: flex; align-items: center; gap: 5px;">
  289. <input type="radio" name="gender" value="male" checked> 男
  290. </label>
  291. <label style="display: flex; align-items: center; gap: 5px;">
  292. <input type="radio" name="gender" value="female"> 女
  293. </label>
  294. </div>
  295. </div>
  296. <div class="form-group">
  297. <label>兴趣爱好:</label>
  298. <div style="display: flex; flex-wrap: wrap; gap: 15px; margin-top: 8px;">
  299. <label style="display: flex; align-items: center; gap: 5px;">
  300. <input type="checkbox" name="hobby" value="reading"> 阅读
  301. </label>
  302. <label style="display: flex; align-items: center; gap: 5px;">
  303. <input type="checkbox" name="hobby" value="sports"> 运动
  304. </label>
  305. <label style="display: flex; align-items: center; gap: 5px;">
  306. <input type="checkbox" name="hobby" value="music"> 音乐
  307. </label>
  308. </div>
  309. </div>
  310. <div class="form-group">
  311. <label for="country">国家:</label>
  312. <select id="country" name="country">
  313. <option value="">请选择国家</option>
  314. <option value="china">中国</option>
  315. <option value="usa">美国</option>
  316. <option value="uk">英国</option>
  317. <option value="japan">日本</option>
  318. </select>
  319. </div>
  320. <div class="form-group">
  321. <label for="bio">个人简介:</label>
  322. <textarea id="bio" name="bio" rows="4" placeholder="请输入个人简介"></textarea>
  323. </div>
  324. <div class="form-group">
  325. <label for="avatar">上传头像:</label>
  326. <input type="file" id="avatar" name="avatar">
  327. </div>
  328. <div class="flex">
  329. <button type="submit" class="btn"><i class="fas fa-paper-plane"></i> 提交</button>
  330. <button type="reset" class="btn btn-danger"><i class="fas fa-redo"></i> 重置</button>
  331. <button type="button" class="btn btn-success"><i class="fas fa-download"></i> 保存</button>
  332. </div>
  333. </form>
  334. </section>
  335. <!-- HTML5语义化标签与表单增强部分 -->
  336. <section id="html5-tags" class="section-card">
  337. <h2><i class="fas fa-tags"></i> HTML5语义化标签</h2>
  338. <!-- 语义化标签结构示例 -->
  339. <div class="tag-example" style="position: relative; height: 300px;">
  340. <header style="background: var(--primary); color: white; padding: 10px; text-align: center;">
  341. &lt;header&gt; - 页面头部
  342. </header>
  343. <nav style="background: var(--secondary); color: white; padding: 10px; margin: 10px 0;">
  344. &lt;nav&gt; - 导航栏
  345. </nav>
  346. <div style="display: flex; gap: 10px; height: 200px;">
  347. <article style="background: #e0f7fa; flex: 3; padding: 10px;">
  348. &lt;article&gt; - 主要内容
  349. <section style="background: #bbdefb; margin: 10px 0; padding: 10px;">
  350. &lt;section&gt; - 内容区块
  351. </section>
  352. </article>
  353. <aside style="background: #ffecb3; flex: 1; padding: 10px;">
  354. &lt;aside&gt; - 侧边栏
  355. </aside>
  356. </div>
  357. <footer
  358. style="background: var(--dark); color: white; padding: 10px; text-align: center; margin-top: 10px;">
  359. &lt;footer&gt; - 页脚
  360. </footer>
  361. </div>
  362. <!-- HTML5表单增强示例 -->
  363. <h3>HTML5表单增强</h3>
  364. <form class="tag-example">
  365. <div class="grid">
  366. <div class="form-group">
  367. <label for="email">邮箱:</label>
  368. <input type="email" id="email" placeholder="请输入邮箱" required>
  369. </div>
  370. <div class="form-group">
  371. <label for="url">个人网站:</label>
  372. <input type="url" id="url" placeholder="请输入网址">
  373. </div>
  374. <div class="form-group">
  375. <label for="date">出生日期:</label>
  376. <input type="date" id="date">
  377. </div>
  378. <div class="form-group">
  379. <label for="color">主题色:</label>
  380. <input type="color" id="color" value="#4361ee">
  381. </div>
  382. <div class="form-group">
  383. <label for="range">音量:</label>
  384. <input type="range" id="range" min="0" max="100" value="50">
  385. </div>
  386. <div class="form-group">
  387. <label for="search">搜索:</label>
  388. <input type="search" id="search" placeholder="搜索内容">
  389. </div>
  390. </div>
  391. <button type="submit" class="btn">提交HTML5表单</button>
  392. </form>
  393. </section>
  394. </main>
  395. <!-- 页脚区域,版权信息 -->
  396. <footer>
  397. <p>&copy; 2023 HTML综合学习文档 | 包含HTML5所有核心特性</p>
  398. </footer>
  399. <script>
  400. // 主题切换功能:点击按钮切换暗色/亮色主题
  401. document.getElementById('themeToggle').addEventListener('click', function () {
  402. document.body.classList.toggle('dark-theme');
  403. if (document.body.classList.contains('dark-theme')) {
  404. this.innerHTML = '<i class="fas fa-sun"></i> 亮色模式';
  405. } else {
  406. this.innerHTML = '<i class="fas fa-moon"></i> 暗色模式';
  407. }
  408. });
  409. // 表单提交演示,阻止默认提交并弹窗提示
  410. document.getElementById('exampleForm').addEventListener('submit', function (e) {
  411. e.preventDefault();
  412. alert('表单已提交(演示功能)');
  413. });
  414. // 页面锚点平滑滚动
  415. document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  416. anchor.addEventListener('click', function (e) {
  417. e.preventDefault();
  418. const targetId = this.getAttribute('href');
  419. if (targetId === '#') return;
  420. const targetElement = document.querySelector(targetId);
  421. if (targetElement) {
  422. window.scrollTo({
  423. top: targetElement.offsetTop - 80,
  424. behavior: 'smooth'
  425. });
  426. }
  427. });
  428. });
  429. </script>
  430. </body>
  431. </html>