diff --git a/Html/apps/_docs/前端/helpTip.md b/Html/apps/_docs/前端/helpTip.md
new file mode 100644
index 0000000..c1c911a
--- /dev/null
+++ b/Html/apps/_docs/前端/helpTip.md
@@ -0,0 +1,165 @@
+# HelpTip 组件文档
+
+## 功能介绍
+
+HelpTip 是一个通用的提示框组件,用于在鼠标悬停时显示提示信息。它具有以下特点:
+
+- 提示框跟随鼠标移动
+- 支持多行文本
+- 自动防出界
+- 平滑的显示/隐藏动画
+- 支持在不同页面复用
+- 代码标准化,易于维护
+
+## 文件结构
+
+```
+/static/
+├── css/
+│ └── helpTip.css # 样式文件
+└── js/
+ └── helpTip.js # 核心功能文件
+```
+
+## 使用方法
+
+### 1. 引入文件
+
+在需要使用 HelpTip 的 HTML 页面中引入以下文件:
+
+```html
+
+
+
+
+
+```
+
+### 2. 基本用法
+
+```javascript
+// 获取需要绑定提示框的元素
+const element = document.getElementById('target-element');
+
+// 绑定提示框
+attachImmediateTooltip(element, '这是一条提示信息');
+```
+
+### 3. 支持换行的提示信息
+
+```javascript
+attachImmediateTooltip(element, `这是一条\n多行提示信息\n\n支持换行符`);
+```
+
+### 4. 与问号图标配合使用
+
+```html
+
+这是一个元素?
+```
+
+```javascript
+// JavaScript
+const helpIcon = document.querySelector('.help-icon');
+attachImmediateTooltip(helpIcon, '这是一条详细的提示信息');
+```
+
+## API 说明
+
+### attachImmediateTooltip(anchorEl, text)
+
+绑定提示框到指定元素。
+
+#### 参数
+
+- `anchorEl` (HTMLElement): 触发提示框的元素
+- `text` (string): 提示框显示的文本内容,支持换行符 `\n`
+
+#### 返回值
+
+- `Function`: 清理函数,用于移除事件监听器
+
+## 样式说明
+
+### 问号图标样式
+
+| 类名 | 说明 |
+|------|------|
+| `.help-icon` | 问号图标基础样式 |
+| `.help-icon:hover` | 问号图标悬停样式 |
+
+### 提示框样式
+
+| 类名 | 说明 |
+|------|------|
+| `.tooltip-portal` | 提示框基础样式 |
+| `.tooltip-portal.show` | 提示框显示状态 |
+| `.tooltip-portal.fade` | 提示框动画效果 |
+
+## 示例场景
+
+### 1. 进度条提示
+
+```javascript
+// 为进度条的每个阶段绑定提示框
+for (let i = 0; i < progressItems.length; i++) {
+ const item = progressItems[i];
+ attachImmediateTooltip(item, `阶段 ${i + 1}: ${item.title}`);
+}
+```
+
+### 2. 表单字段提示
+
+```javascript
+// 为表单字段绑定提示框
+const formFields = document.querySelectorAll('.form-field');
+formFields.forEach(field => {
+ const tip = field.getAttribute('data-tip');
+ if (tip) {
+ attachImmediateTooltip(field, tip);
+ }
+});
+```
+
+### 3. 工具栏图标提示
+
+```javascript
+// 为工具栏图标绑定提示框
+const toolbarIcons = document.querySelectorAll('.toolbar-icon');
+toolbarIcons.forEach(icon => {
+ const title = icon.getAttribute('title');
+ if (title) {
+ attachImmediateTooltip(icon, title);
+ }
+});
+```
+
+## 注意事项
+
+1. 确保在 DOM 加载完成后再调用 `attachImmediateTooltip` 函数
+2. 如果元素是动态生成的,需要在元素生成后再绑定提示框
+3. 提示框会自动添加到 `document.body` 中,不会被父元素的 `overflow` 属性裁切
+4. 提示框的 `z-index` 为 999999,确保它能覆盖所有元素
+5. 提示框默认支持多行文本,使用 `white-space: pre-wrap` 样式
+
+## 浏览器兼容性
+
+- Chrome/Edge (最新版)
+- Firefox (最新版)
+- Safari (最新版)
+
+## 代码优化建议
+
+1. 对于大量元素需要绑定提示框的情况,建议使用事件委托
+2. 如果页面中不再需要使用提示框,可以调用返回的清理函数移除事件监听器
+3. 提示文本应简洁明了,避免过长
+
+## 更新日志
+
+- v1.0.0: 初始版本,实现了基本的提示框功能
+- v1.0.1: 优化了样式,增加了动画效果
+- v1.0.2: 支持多行文本,自动防出界
+
+## 贡献指南
+
+如果您发现问题或有改进建议,欢迎提出 Issue 或 Pull Request。
diff --git a/Html/apps/static/css/helpTip.css b/Html/apps/static/css/helpTip.css
new file mode 100644
index 0000000..d896c79
--- /dev/null
+++ b/Html/apps/static/css/helpTip.css
@@ -0,0 +1,51 @@
+/* HelpTip 组件样式 */
+
+/* 问号图标样式 */
+.help-icon {
+ display: inline-block;
+ margin-left: 8px;
+ color: #888;
+ font-weight: bold;
+ cursor: help;
+ font-size: 14px;
+ line-height: 1;
+ transition: color 0.2s ease;
+}
+
+.help-icon:hover {
+ color: #4CAF50;
+}
+
+/* 全局提示框样式(挂在 body 下) */
+.tooltip-portal {
+ position: fixed; /* 不受父级 overflow 影响 */
+ left: 0;
+ top: 0;
+ z-index: 999999; /* 足够高,覆盖所有元素 */
+ display: none;
+ opacity: 0;
+ transition: opacity 0.08s linear;
+
+ background: rgba(0, 0, 0, 0.9);
+ color: #fff;
+ padding: 6px 10px;
+ border-radius: 6px;
+ font-size: 13px;
+ line-height: 1.4;
+ pointer-events: none; /* 鼠标穿透,避免闪烁 */
+ white-space: pre-wrap; /* 支持换行符 */
+ max-width: 300px;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
+ word-wrap: break-word;
+}
+
+/* 提示框显示状态 */
+.tooltip-portal.show {
+ display: block;
+ opacity: 1;
+}
+
+/* 提示框动画效果 */
+.tooltip-portal.fade {
+ transition: opacity 0.2s ease;
+}
diff --git a/Html/apps/static/css/lesson.css b/Html/apps/static/css/lesson.css
index f123176..7b33983 100644
--- a/Html/apps/static/css/lesson.css
+++ b/Html/apps/static/css/lesson.css
@@ -1,34 +1,3 @@
-/* 问号图标 */
-.help-icon {
- display: inline-block;
- margin-left: 8px;
- color: #888;
- font-weight: bold;
- cursor: help;
-}
-.help-icon:hover { color: #4CAF50; }
-
-/* Portal Tooltip(挂在 body 下) */
-.tooltip-portal {
- position: fixed; /* 不受父级 overflow 影响 */
- left: 0; top: 0;
- z-index: 999999; /* 足够高,覆盖侧栏等 */
- display: none;
- opacity: 0;
- transition: opacity .08s linear;
-
- background: rgba(0,0,0,.9);
- color: #fff;
- padding: 6px 10px;
- border-radius: 6px;
- font-size: 13px;
- line-height: 1.4;
- pointer-events: none; /* 鼠标穿透,避免闪烁 */
- white-space: nowrap;
- box-shadow: 0 4px 12px rgba(0,0,0,.25);
-}
-
-
.add-step-btn, .add-phase-btn {
background-color: #4CAF50;
diff --git a/Html/apps/templates/code-like-desktop.html b/Html/apps/templates/code-like-desktop.html
index 73b32e4..a20348d 100644
--- a/Html/apps/templates/code-like-desktop.html
+++ b/Html/apps/templates/code-like-desktop.html
@@ -8,6 +8,7 @@
+
diff --git a/Html/apps/templates/lesson.html b/Html/apps/templates/lesson.html
index b2c790d..c28de8e 100644
--- a/Html/apps/templates/lesson.html
+++ b/Html/apps/templates/lesson.html
@@ -8,6 +8,7 @@
+