1. 折叠面板 details/summary

<details> 定义折叠容器,<summary> 定义折叠标题。

点击标题可以展开/收起内容,open 属性默认展开。

演示效果:
点击展开更多信息

这是隐藏的内容,点击标题可以展开或收起。

不需要任何 JavaScript 就能实现折叠效果!

默认展开的面板

这个面板打开时就是展开状态(open 属性)。

1<details> 2 <summary>点击展开更多信息</summary> 3 <p>这是隐藏的内容</p> 4</details> 5 6<details open> 7 <summary>默认展开的面板</summary> 8 <p>这个面板默认展开</p> 9</details>

2. 对话框(纯CSS实现)

使用 checkbox hack 实现纯 CSS 对话框,不需要 JavaScript。

点击按钮打开对话框,点击关闭按钮或遮罩层关闭。

演示效果:

提示

这是一个纯 CSS 实现的对话框

不需要 JavaScript!

1<input type="checkbox" id="dialog-toggle" class="dialog-checkbox"> 2<label for="dialog-toggle" class="dialog-open-btn">打开对话框</label> 3 4<div class="dialog-overlay"> 5 <div class="dialog-content"> 6 <h3>提示</h3> 7 <p>这是一个纯 CSS 实现的对话框</p> 8 <label for="dialog-toggle" class="dialog-close">&times;</label> 9 </div> 10</div>

3. 进度条 progress

<progress> 表示任务进度。

value 当前值,max 最大值。不设置 value 则显示不确定进度。

演示效果:

下载进度:

70%

未知进度(加载中):

1<progress value="70" max="100"></progress> 70% 2 3<!-- 未知进度 --> 4<progress></progress>

4. 度量衡 meter

<meter> 表示某个范围内的标量值。

min/max 范围 | low/high 低/高阈值 | optimum 最优值

演示效果:

磁盘使用率:

85%

考试成绩:

92分
1<meter min="0" max="100" low="30" high="70" optimum="20" value="85">85%</meter> 2 3<meter min="0" max="100" low="60" high="90" optimum="100" value="92">92分</meter>

5. 高亮文本 mark

<mark> 标签用于高亮显示文本,默认黄色背景。

演示效果:

这是一段文字,其中这部分被高亮了。

1<p>这是一段文字,其中<mark>这部分被高亮</mark>了。</p>

6. 时间标签 time

<time> 标签表示时间/日期。

datetime 属性提供机器可读的时间格式。

演示效果:

发布于

会议时间

1<p>发布于 <time datetime="2026-06-05">今天</time></p> 2<p>会议时间 <time datetime="2026-06-05T14:00:00">下午2点</time></p>

7. 画布 canvas(必须用JavaScript)

<canvas> 标签用于 JS 绘制图形。

width/height 设置画布尺寸。必须用 JavaScript 才能绘图。

演示效果:
1<canvas id="myCanvas" width="400" height="200" style="border:1px solid #ccc;"></canvas> 2 3<script> 4 var canvas = document.getElementById('myCanvas'); 5 var ctx = canvas.getContext('2d'); 6 7 // 画矩形 8 ctx.fillStyle = 'lightblue'; 9 ctx.fillRect(20, 20, 150, 80); 10 11 // 画圆 12 ctx.beginPath(); 13 ctx.arc(300, 60, 40, 0, Math.PI * 2); 14 ctx.fillStyle = 'lightcoral'; 15 ctx.fill(); 16 17 // 画文字 18 ctx.fillStyle = 'black'; 19 ctx.font = '16px Arial'; 20 ctx.fillText('Canvas 画布', 20, 140); 21</script>