Transclude of HTML模板

HTML 全知识点超级模板 在线预览

这是一个可以直接打开模板文件,覆盖大部分知识点,下面列出这个模板的源代码

<!-- 声明文档类型为 HTML5,告诉浏览器使用现代标准解析 -->
<!DOCTYPE html>
 
<!-- html 根元素,lang 用于SEO与无障碍(屏幕阅读器) -->
<html lang="zh-CN">
 
<head>
  <!-- 指定字符编码为 UTF-8,防止中文乱码 -->
  <meta charset="UTF-8">
 
  <!-- 视口设置:控制移动端缩放与布局 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
  <!-- 页面标题(浏览器标签 + SEO重要因素) -->
  <title>HTML 全知识点超级模板</title>
 
  <!-- 页面描述,用于搜索引擎摘要 -->
  <meta name="description" content="一个覆盖几乎所有HTML核心知识点的学习与模板文件">
 
  <!-- 页面作者信息 -->
  <meta name="author" content="Your Name">
 
  <!-- 防止某些浏览器自动缓存(示例) -->
  <meta http-equiv="Cache-Control" content="no-cache">
 
  <!-- 主题色(部分浏览器地址栏颜色) -->
  <meta name="theme-color" content="#ffffff">
 
  <!-- 预加载关键资源(性能优化) -->
  <link rel="preload" href="styles.css" as="style">
 
  <!-- 引入外部CSS样式表 -->
  <link rel="stylesheet" href="styles.css">
 
  <!-- 内联CSS:适合小型或关键CSS(Critical CSS) -->
  <style>
    /* 全局盒模型设置,防止尺寸计算混乱 */
    *, *::before, *::after {
      box-sizing: border-box;
    }
 
    /* 设置body基础样式 */
    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont;
      margin: 0;
      padding: 0;
      line-height: 1.6;
      background: #f5f5f5;
      color: #222;
    }
 
    /* 通用容器类 */
    .container {
      max-width: 1200px;
      margin: auto;
      padding: 1rem;
    }
 
    /* 演示隐藏元素 */
    .hidden {
      display: none;
    }
  </style>
 
  <!-- defer 脚本:等HTML解析完再执行(性能 + 防阻塞) -->
  <script defer src="app.js"></script>
 
  <!-- 内联JS:适合小工具或演示 -->
  <script>
    // DOMContentLoaded:确保DOM加载完成后执行
    document.addEventListener('DOMContentLoaded', function () {
      console.log('DOM 已加载完成');
    });
  </script>
</head>
 
<body>
 
  <!-- header:语义化页头 -->
  <header role="banner" class="container">
    <!-- h1:页面主标题(SEO最重要) -->
    <h1>HTML 全知识点超级模板</h1>
 
    <!-- nav:导航区域 -->
    <nav aria-label="主导航">
      <!-- 无序列表:常见导航结构 -->
      <ul>
        <li><a href="#section-text">文本</a></li>
        <li><a href="#section-form">表单</a></li>
        <li><a href="#section-media">媒体</a></li>
        <li><a href="#section-canvas">Canvas</a></li>
      </ul>
    </nav>
  </header>
 
  <!-- main:页面主要内容 -->
  <main role="main" class="container">
 
    <!-- section:逻辑内容区块 -->
    <section id="section-text">
      <!-- h2:次级标题 -->
      <h2>文本与语义</h2>
 
      <!-- p:段落 -->
      <p>
        这是一个 <strong>加粗</strong>、
        <em>强调</em>、
        <mark>高亮</mark>、
        <code>行内代码</code>、
        <abbr title="HyperText Markup Language">HTML</abbr> 示例。
      </p>
 
      <!-- blockquote:引用 -->
      <blockquote cite="https://example.com">
        知识不是力量,运用知识才是力量。
      </blockquote>
 
      <!-- time:机器可读时间 -->
      <time datetime="2026-02-04">2026年2月4日</time>
 
      <!-- details/summary:可折叠内容 -->
      <details>
        <summary>点击展开更多说明</summary>
        <p>这里可以放隐藏的补充信息。</p>
      </details>
    </section>
 
    <!-- article:独立内容块(博客/帖子) -->
    <article>
      <h2>Article 示例</h2>
      <p>article 表示可独立分发的内容。</p>
    </article>
 
    <!-- 表单区域 -->
    <section id="section-form">
      <h2>表单与输入</h2>
 
      <!-- form:表单容器 -->
      <form action="/submit" method="post" novalidate>
 
        <!-- label + input:可访问性最佳实践 -->
        <label for="username">用户名:</label>
        <input
          id="username"
          name="username"
          type="text"
          placeholder="请输入用户名"
          required
          minlength="3"
          autocomplete="username">
 
        <br>
 
        <!-- 密码输入 -->
        <label for="password">密码:</label>
        <input
          id="password"
          name="password"
          type="password"
          required
          autocomplete="current-password">
 
        <br>
 
        <!-- 邮箱输入(内建校验) -->
        <label for="email">邮箱:</label>
        <input id="email" name="email" type="email">
 
        <br>
 
        <!-- 单选框 -->
        <fieldset>
          <legend>性别</legend>
          <label><input type="radio" name="gender" value="m"> 男</label>
          <label><input type="radio" name="gender" value="f"> 女</label>
        </fieldset>
 
        <!-- 复选框 -->
        <label>
          <input type="checkbox" name="agree" required>
          我同意条款
        </label>
 
        <br>
 
        <!-- 下拉选择 -->
        <select name="country">
          <option value="cn">中国</option>
          <option value="us">美国</option>
        </select>
 
        <br>
 
        <!-- 文本区域 -->
        <textarea name="message" rows="4" cols="40"></textarea>
 
        <br>
 
        <!-- 提交按钮 -->
        <button type="submit">提交</button>
      </form>
    </section>
 
    <!-- 多媒体 -->
    <section id="section-media">
      <h2>多媒体</h2>
 
      <!-- 图片(带懒加载与替代文本) -->
      <img
        src="image.jpg"
        alt="示例图片"
        loading="lazy"
        width="300">
 
      <!-- 音频 -->
      <audio controls>
        <source src="audio.mp3" type="audio/mpeg">
        浏览器不支持 audio 标签
      </audio>
 
      <!-- 视频 -->
      <video controls width="320">
        <source src="video.mp4" type="video/mp4">
        浏览器不支持 video 标签
      </video>
    </section>
 
    <!-- Canvas 与 SVG -->
    <section id="section-canvas">
      <h2>Canvas 与 SVG</h2>
 
      <!-- Canvas:JS绘图 -->
      <canvas id="myCanvas" width="300" height="150">
        你的浏览器不支持 Canvas
      </canvas>
 
      <!-- SVG:矢量图 -->
      <svg width="100" height="100" aria-label="红色圆形">
        <circle cx="50" cy="50" r="40" fill="red"></circle>
      </svg>
    </section>
 
    <!-- 数据属性:用于JS与HTML通信 -->
    <div data-user-id="123" data-role="admin">
      使用 data-* 存储自定义数据
    </div>
 
  </main>
 
  <!-- aside:侧边栏 / 补充信息 -->
  <aside class="container">
    <h2>侧边信息</h2>
    <p>放广告、相关链接、补充说明等。</p>
  </aside>
 
  <!-- footer:页脚 -->
  <footer role="contentinfo" class="container">
    <!-- address:作者或联系信息 -->
    <address>
      联系方式:<a href="mailto:[email protected]">[email protected]</a>
    </address>
 
    <!-- small:次要文本 -->
    <small>© 2026 All rights reserved.</small>
  </footer>
 
  <!-- noscript:禁用JS时显示 -->
  <noscript>
    你的浏览器禁用了 JavaScript,部分功能不可用。
  </noscript>
 
  <!-- 内联JS:Canvas绘图示例 -->
  <script>
    // 获取 canvas 元素
    const canvas = document.getElementById('myCanvas');
 
    // 判断浏览器是否支持 canvas
    if (canvas) {
      // 获取2D绘图上下文
      const ctx = canvas.getContext('2d');
 
      // 设置填充颜色
      ctx.fillStyle = 'blue';
 
      // 绘制矩形
      ctx.fillRect(10, 10, 100, 50);
    }
  </script>
 
</body>
</html>