登录
首页 >  文章 >  前端

HTML文件保存方式及默认扩展名详解

时间:2025-08-06 22:52:52 466浏览 收藏

你在学习文章相关的知识吗?本文《HTML文件保存方法及默认扩展名解析》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

HTML文件应保存为.html或.htm扩展名,使用文本编辑器“另存为”时选择“所有文件”并手动输入文件名加扩展名;2. 必须确保文件编码为UTF-8,并在HTML的中添加以避免乱码;3. 推荐使用VS Code等代码编辑器进行编辑,因其支持语法高亮、自动补全和插件扩展;4. 一个最简单的HTML文件包含DOCTYPE声明、html根元素、head头部(含字符集和标题)和body主体(含标题和段落),保存后用浏览器打开即可显示内容。

HTML文件如何保存?网页的默认扩展名是什么?

HTML文件通常保存为.html.htm扩展名,这两种都是网页的默认扩展名,用于标识该文件是超文本标记语言文档。

解决方案

保存HTML文件其实是个很简单,但又容易被新手忽略细节的步骤。你通常会用到一个文本编辑器,比如Windows自带的记事本、macOS的TextEdit,或者更专业的如VS Code、Sublime Text、Notepad++等。关键在于“另存为”的时候,确保文件类型选择“所有文件”或者“All Files”,然后手动输入文件名,并在文件名后面加上.html.htm。举个例子,你想保存一个名为“我的主页”的文件,就输入“我的主页.html”。

还有一点非常重要,就是编码。多数情况下,我们都应该选择UTF-8编码。这能最大程度地避免网页显示乱码的问题,尤其当你的内容包含中文或其他非英文字符时。很多编辑器在保存时会默认UTF-8,但检查一下总没错。如果你用的是记事本,它在“另存为”对话框的底部就有编码选项。

为什么我的HTML文件打开后显示乱码?

这几乎是每个初学者都会遇到的一个“坑”。当你辛辛苦苦写完一段HTML代码,用浏览器打开却发现文字变成了一堆方块或者奇怪的符号,那多半是编码问题。这就像你用一套语言写了封信,收信人却拿了另一套语言的字典来解读,自然就对不上了。

HTML文件本身并没有自带字符集信息,或者说,它需要你明确告诉浏览器它使用的是哪种字符集。最常见的乱码原因就是文件保存时使用的编码(比如ANSI或GB2312)与浏览器解析时默认的编码(通常是UTF-8,或者浏览器根据系统设置猜测的编码)不一致。

要解决这个问题,核心就是统一。在你的HTML文件的标签内,加入一行元数据(meta tag)来声明文档的字符集,例如: 这行代码告诉浏览器:“嘿,我这个文件是用UTF-8编码写的,你得用UTF-8来解析它!”

同时,在保存文件时,也要确保你的文本编辑器确实是以UTF-8编码来保存的。很多高级编辑器都会在状态栏显示当前文件的编码,并且在“另存为”时提供编码选项。保持文件内部声明和文件实际保存编码的一致性,乱码问题基本就能迎刃而解了。

除了文本编辑器,还有哪些工具可以创建和编辑HTML文件?

当然,记事本这类纯文本编辑器虽然能写HTML,但效率和体验上就差强人意了。就像用铅笔画素描,虽然能画,但总归不如专业的绘画工具来得顺手。

对于HTML的创建和编辑,选择其实非常多样:

首先,代码编辑器是主流。像Visual Studio Code (VS Code)、Sublime Text、Notepad++这些,它们提供了语法高亮(让不同标签、属性、文本显示不同颜色,一眼就能看出代码结构)、自动补全、代码片段、集成终端、丰富的插件生态等功能。比如,在VS Code里安装Emmet插件,你输入!然后按Tab键,就能快速生成一个HTML5的基本结构,效率提升不止一点点。它们本质上还是文本编辑器,但针对编程做了大量优化,是前端开发者的首选。

其次,集成开发环境(IDE)。这类工具功能更强大,除了代码编辑,还可能集成了版本控制、调试、项目管理等一整套解决方案。比如WebStorm,它对前端开发的支持非常全面,智能提示、重构功能都非常强大。不过,对于仅仅是编辑HTML文件而言,IDE可能显得有些“杀鸡用牛刀”,资源占用也相对较高。

最后,还有一些在线编辑器或代码沙盒。比如CodePen、JSFiddle、Glitch等。它们的好处是无需安装任何软件,打开浏览器就能直接编写、预览HTML、CSS和JavaScript代码,并且可以方便地分享给他人。对于快速测试、分享代码片段或者进行一些小练习来说,它们非常方便。

选择哪种工具,很大程度上取决于你的需求和熟练程度。初学者从VS Code这类代码编辑器开始是个不错的选择,它们功能强大又相对轻量。

一个最简单的HTML文件长什么样?

一个最最简单的HTML文件,其实就是几行代码,但它们构成了网页的基本骨架。它看起来可能像这样:




    
    我的第一个网页


    

你好,世界!

这是一个简单的HTML页面。

我们来简单拆解一下:

  • :这行是文档类型声明。它告诉浏览器,这是一个HTML5文档。虽然它看起来像一个标签,但它其实不是HTML标签,而是浏览器解析文档的指令。
  • :这是整个HTML文档的根元素,所有其他内容都包含在这个标签之内。它就像是整个网页的“容器”。
  • :头部区域,这里面的内容不会直接显示在浏览器窗口中,但它包含了关于网页的元信息(metadata),比如字符集声明()、网页标题(我的第一个网页)、链接外部样式表或脚本等。
  • </code>:定义了网页在浏览器标签页或窗口标题栏上显示的文字。</li><li><code><body></code>:主体区域,这里面的所有内容才是真正会显示在浏览器窗口中的部分,比如文本、图片、链接、视频等。</li><li><code><h1></code>:一个一级标题标签,通常用来表示页面中最重要的标题。</li><li><code><p></code>:一个段落标签,用来包含普通文本内容。</li></ul><p>当你把上面这段代码保存为<code>.html</code>文件,然后用浏览器打开时,你就会看到一个页面,上面显示着“你好,世界!”这个大标题,下面跟着一行“这是一个简单的HTML页面。”。这就是HTML最基础的结构和工作方式。理解这个骨架,是学习网页开发的起点。</p><p>今天关于《HTML文件保存方式及默认扩展名详解》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于代码编辑器,html文件,UTF-8编码,HTML结构,.html扩展名的内容请关注golang学习网公众号!</p> </div> <div class="labsList"> <a href="javascript:;" class="aLightGray" title="代码编辑器">代码编辑器</a> <a href="javascript:;" class="aLightGray" title="html文件">html文件</a> <a href="javascript:;" class="aLightGray" title="UTF-8编码">UTF-8编码</a> <a href="javascript:;" class="aLightGray" title="HTML结构">HTML结构</a> <a href="javascript:;" class="aLightGray" title=".html扩展名">.html扩展名</a> </div> </div> <!-- 最新阅读 --> <div class="contBoxNor"> <div class="contTit"> <div class="tit">相关阅读</div> <a href="/articlelist.html" class="more">更多></a> </div> <ul class="latestReadList"> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1年前  |   <a href="javascript:;" class="aLightGray" title="CSS">CSS</a> <a href="javascript:;" class="aLightGray" title="优化">优化</a> <a href="javascript:;" class="aLightGray" title="体验">体验</a> </div> <div class="tit lineOverflow"><a href="/article/72840.html" title="优化用户界面体验的秘密武器:CSS开发项目经验大揭秘" class="aBlack">优化用户界面体验的秘密武器:CSS开发项目经验大揭秘</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="72840" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1年前  |   <a href="javascript:;" class="aLightGray" title="图片轮播">图片轮播</a> <a href="javascript:;" class="aLightGray" title="微信小程序">微信小程序</a> <a href="javascript:;" class="aLightGray" title="特效">特效</a> </div> <div class="tit lineOverflow"><a href="/article/76259.html" title="使用微信小程序实现图片轮播特效" class="aBlack">使用微信小程序实现图片轮播特效</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="76259" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1年前  |   <a href="javascript:;" class="aLightGray" title="sessionStorage">sessionStorage</a> <a href="javascript:;" class="aLightGray" title="存储能力">存储能力</a> <a href="javascript:;" class="aLightGray" title="限制解析">限制解析</a> </div> <div class="tit lineOverflow"><a href="/article/83771.html" title="解析sessionStorage的存储能力与限制" class="aBlack">解析sessionStorage的存储能力与限制</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="83771" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1年前  |   <a href="javascript:;" class="aLightGray" title="团队合作">团队合作</a> <a href="javascript:;" class="aLightGray" title="冒泡事件">冒泡事件</a> <a href="javascript:;" class="aLightGray" title="促进作用">促进作用</a> </div> <div class="tit lineOverflow"><a href="/article/85057.html" title="探索冒泡活动对于团队合作的推动力" class="aBlack">探索冒泡活动对于团队合作的推动力</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="85057" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1年前  |   </div> <div class="tit lineOverflow"><a href="/article/91359.html" title="UI设计中为何选择绝对定位的智慧之道" class="aBlack">UI设计中为何选择绝对定位的智慧之道</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="91359" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> </ul> </div> <!-- 最新阅读 --> <div class="contBoxNor"> <div class="contTit"> <div class="tit">最新阅读</div> <a href="/articlelist.html" class="more">更多></a> </div> <ul class="latestReadList"> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1小时前  |   <a href="javascript:;" class="aLightGray" title="CSS样式">CSS样式</a> <a href="javascript:;" class="aLightGray" title="响应式图片">响应式图片</a> <a href="javascript:;" class="aLightGray" title="网页性能">网页性能</a> <a href="javascript:;" class="aLightGray" title="图片尺寸">图片尺寸</a> <a href="javascript:;" class="aLightGray" title="图片变形">图片变形</a> </div> <div class="tit lineOverflow"><a href="/article/278318.html" title="HTML中的图片大小怎么调整? 图片尺寸设置方法" class="aBlack">HTML中的图片大小怎么调整? 图片尺寸设置方法</a></div> <div class="opt"> <span><i class="view"></i>246</span> <span class="collectBtn user_collection" data-id="278318" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278315.html" title="Flex布局详解与适用场景分析" class="aBlack">Flex布局详解与适用场景分析</a></div> <div class="opt"> <span><i class="view"></i>352</span> <span class="collectBtn user_collection" data-id="278315" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  1小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278312.html" title="Flexbox与JS实现动态布局切换与元素重排" class="aBlack">Flexbox与JS实现动态布局切换与元素重排</a></div> <div class="opt"> <span><i class="view"></i>217</span> <span class="collectBtn user_collection" data-id="278312" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   <a href="javascript:;" class="aLightGray" title="响应式设计">响应式设计</a> <a href="javascript:;" class="aLightGray" title="flex属性">flex属性</a> <a href="javascript:;" class="aLightGray" title="FLEXBOX">FLEXBOX</a> <a href="javascript:;" class="aLightGray" title="多列等高布局">多列等高布局</a> <a href="javascript:;" class="aLightGray" title="gap属性">gap属性</a> </div> <div class="tit lineOverflow"><a href="/article/278298.html" title="CSS多列等高布局怎么实现?" class="aBlack">CSS多列等高布局怎么实现?</a></div> <div class="opt"> <span><i class="view"></i>143</span> <span class="collectBtn user_collection" data-id="278298" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278294.html" title="定时器多次执行后自动停止技巧" class="aBlack">定时器多次执行后自动停止技巧</a></div> <div class="opt"> <span><i class="view"></i>125</span> <span class="collectBtn user_collection" data-id="278294" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   <a href="javascript:;" class="aLightGray" title="JavaScript">JavaScript</a> <a href="javascript:;" class="aLightGray" title="递归">递归</a> <a href="javascript:;" class="aLightGray" title="reduce">reduce</a> <a href="javascript:;" class="aLightGray" title="数组扁平化">数组扁平化</a> <a href="javascript:;" class="aLightGray" title="flat()">flat()</a> </div> <div class="tit lineOverflow"><a href="/article/278285.html" title="JS数组扁平化5种实用方法" class="aBlack">JS数组扁平化5种实用方法</a></div> <div class="opt"> <span><i class="view"></i>483</span> <span class="collectBtn user_collection" data-id="278285" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278284.html" title="CSSmargin使用技巧与实战方法" class="aBlack">CSSmargin使用技巧与实战方法</a></div> <div class="opt"> <span><i class="view"></i>455</span> <span class="collectBtn user_collection" data-id="278284" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278282.html" title="JavaScript闭包生成随机数技巧" class="aBlack">JavaScript闭包生成随机数技巧</a></div> <div class="opt"> <span><i class="view"></i>123</span> <span class="collectBtn user_collection" data-id="278282" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278281.html" title="微任务执行顺序解析与技巧" class="aBlack">微任务执行顺序解析与技巧</a></div> <div class="opt"> <span><i class="view"></i>412</span> <span class="collectBtn user_collection" data-id="278281" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278279.html" title="JavaScript内存泄漏检测技巧详解" class="aBlack">JavaScript内存泄漏检测技巧详解</a></div> <div class="opt"> <span><i class="view"></i>211</span> <span class="collectBtn user_collection" data-id="278279" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278273.html" title="HTML无限滚动实现与加载优化技巧" class="aBlack">HTML无限滚动实现与加载优化技巧</a></div> <div class="opt"> <span><i class="view"></i>298</span> <span class="collectBtn user_collection" data-id="278273" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> <li> <div class="info"> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  2小时前  |   </div> <div class="tit lineOverflow"><a href="/article/278268.html" title="点击按钮提交表单的实现方法" class="aBlack">点击按钮提交表单的实现方法</a></div> <div class="opt"> <span><i class="view"></i>126</span> <span class="collectBtn user_collection" data-id="278268" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </div> </li> </ul> </div> <!-- 课程推荐 --> <div class="contBoxNor"> <div class="contTit"> <div class="tit">课程推荐</div> <a href="/courselist.html" class="more">更多></a> </div> <ul class="classRecomList"> <li> <a href="/course/9.html" title="前端进阶之JavaScript设计模式" class="img_box"> <img src="/uploads/20221222/52fd0f23a454c71029c2c72d206ed815.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="前端进阶之JavaScript设计模式"> </a> <dl> <dt class="lineOverflow"> 前端进阶之JavaScript设计模式 </dt> <dd class="cont1 lineOverflow">设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。</dd> <dd class="cont2"> <a href="/course/9.html" title="前端进阶之JavaScript设计模式" class="toStudy">立即学习</a> <span>542次学习</span> </dd> </dl> </li> <li> <a href="/course/2.html" title="GO语言核心编程课程" class="img_box"> <img src="/uploads/20221221/634ad7404159bfefc6a54a564d437b5f.png" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="GO语言核心编程课程"> </a> <dl> <dt class="lineOverflow"> GO语言核心编程课程 </dt> <dd class="cont1 lineOverflow">本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。</dd> <dd class="cont2"> <a href="/course/2.html" title="GO语言核心编程课程" class="toStudy">立即学习</a> <span>511次学习</span> </dd> </dl> </li> <li> <a href="/course/74.html" title="简单聊聊mysql8与网络通信" class="img_box"> <img src="/uploads/20240103/bad35fe14edbd214bee16f88343ac57c.png" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="简单聊聊mysql8与网络通信"> </a> <dl> <dt class="lineOverflow"> 简单聊聊mysql8与网络通信 </dt> <dd class="cont1 lineOverflow">如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让</dd> <dd class="cont2"> <a href="/course/74.html" title="简单聊聊mysql8与网络通信" class="toStudy">立即学习</a> <span>498次学习</span> </dd> </dl> </li> <li> <a href="/course/57.html" title="JavaScript正则表达式基础与实战" class="img_box"> <img src="/uploads/20221226/bbe4083bb3cb0dd135fb02c31c3785fb.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="JavaScript正则表达式基础与实战"> </a> <dl> <dt class="lineOverflow"> JavaScript正则表达式基础与实战 </dt> <dd class="cont1 lineOverflow">在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。</dd> <dd class="cont2"> <a href="/course/57.html" title="JavaScript正则表达式基础与实战" class="toStudy">立即学习</a> <span>487次学习</span> </dd> </dl> </li> <li> <a href="/course/28.html" title="从零制作响应式网站—Grid布局" class="img_box"> <img src="/uploads/20221223/ac110f88206daeab6c0cf38ebf5fe9ed.jpg" onerror="this.onerror='';this.src='/assets/images/moren/morentu.png'" alt="从零制作响应式网站—Grid布局"> </a> <dl> <dt class="lineOverflow"> 从零制作响应式网站—Grid布局 </dt> <dd class="cont1 lineOverflow">本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。</dd> <dd class="cont2"> <a href="/course/28.html" title="从零制作响应式网站—Grid布局" class="toStudy">立即学习</a> <span>484次学习</span> </dd> </dl> </li> </ul> </div> </div> <!-- footer --> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <div class="footer"> <ul> <li ><a href="/" class="aLightGray"><em class="material-icons">home</em><span>首页</span></a></li> <li class="curr"><a href="/articlelist.html" class="aLightGray"><em class="material-icons">menu_book</em><span>阅读</span></a></li> <li ><a href="/courselist.html" class="aLightGray"><em class="material-icons">school</em><span>课程</span></a></li> <li ><a href="/ai.html" class="aLightGray"><em class="material-icons">smart_toy</em><span>AI助手</span></a></li> <li ><a href="/user.html" class="aLightGray"><em class="material-icons">person</em><span>我的</span></a></li> </ul> </div> <script src="/assets/js/require.js" data-main="/assets/js/require-frontend.js?v=1671101972"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?3dc5666f6478c7bf39cd5c91e597423d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>