当前位置:首页 > 文章列表 > 文章 > 前端 > HTML基础标签详解与文件打开方法

HTML基础标签详解与文件打开方法

2025-08-13 18:04:48 0浏览 收藏

HTML文件是构建网页的基石,其核心元素包括``声明、``根标签、`

`头部(包含``元数据和``标题)以及``主体。理解这些标签的结构和作用,是掌握HTML的关键。要打开HTML文件,可以使用任何文本编辑器编写代码,并保存为`.html`格式,然后通过浏览器直接打开。本文将深入探讨HTML文件的基本结构、常见问题及解决方法,例如乱码问题通常由字符编码不一致引起,资源路径错误、语法错误及浏览器缓存也可能导致显示异常。此外,还将推荐VS Code等现代编辑器,并介绍语义化HTML、外部化CSS/JS等最佳实践,助你构建可维护、可访问且高效的网页。

HTML文件的核心结构包括声明、根标签、头部(含等元数据)和<body>主体(包含可见内容);2. 常见问题如乱码通常由字符编码不一致引起,需确保文件保存为UTF-8并正确声明;3. 资源路径错误、语法错误及浏览器缓存也会导致显示异常,可通过开发者工具排查;4. 推荐使用VS Code等现代编辑器,结合Live Server、Emmet等插件提升效率;5. 遵循语义化HTML、外部化CSS/JS、代码格式化、响应式设计、使用开发者工具和版本控制等最佳实践,有助于构建可维护、可访问且高效的网页。</p><p><img src="/uploads/20250813/1755079449689c6319625dd.png" alt="HTML文件的核心元素是什么?如何正确打开HTML文档?"></p><p>HTML文件的核心是各种标签(tags),它们像积木一样构建了网页的结构和内容。要打开HTML文档,最直接的方式就是使用任何一个现代网页浏览器,无论是双击文件,还是通过拖拽到浏览器窗口,它都能立即解析并显示出来。当然,如果你是在开发,通常会通过本地服务器环境来访问,这能模拟更真实的线上部署效果。</p><img src="/uploads/20250813/1755079449689c631965fe8.png" alt="HTML文件的核心元素是什么?如何正确打开HTML文档?"><p>HTML文件可以简单地通过文件管理器双击打开,或者直接将文件拖拽到任何一个网页浏览器(如Chrome、Firefox、Edge等)的窗口中。浏览器会立即解析文件内容并将其渲染成可视的网页。对于更复杂的开发场景,尤其是涉及JavaScript动态内容或后端交互时,我们通常会启动一个本地Web服务器(比如Node.js的http-server模块、Python的SimpleHTTPServer、Apache或Nginx),然后通过<code>http://localhost:端口号/文件名.html</code>这样的URL来访问。这样做的好处是,它能更好地模拟真实网站的运行环境,尤其是在处理相对路径、AJAX请求等方面,避免了浏览器直接打开文件可能出现的跨域安全限制。</p><h3>HTML文件的基本结构和必需标签有哪些?</h3><p>聊到HTML的核心,那肯定离不开它的基本结构。一个合规的HTML文档,哪怕是再简单的页面,也需要一些特定的“骨架”标签。这就像盖房子,总得先有地基、框架。</p><img src="/uploads/20250813/1755079449689c63196926c.png" alt="HTML文件的核心元素是什么?如何正确打开HTML文档?"><p>首先是<code><!DOCTYPE html></code>声明,这玩意儿严格来说不是HTML标签,但它告诉浏览器,你即将解析的是一个HTML5文档。没了它,浏览器可能会进入“怪异模式”,导致一些样式或行为不按预期来。</p><p>紧接着是<code><html></code>标签,它是整个HTML文档的根元素,所有其他内容都包裹在它里面。你可以把它想象成整个网页的“大盒子”。</p><img src="/uploads/20250813/1755079449689c63196c23c.png" alt="HTML文件的核心元素是什么?如何正确打开HTML文档?"><p>在<code><html></code>内部,通常会有两个主要的部分:<code><head></code>和<code><body></code>。</p><p><code><head></code>部分是网页的“头部”,但它的内容并不会直接显示在浏览器窗口里。它主要包含一些元数据,比如:</p><ul><li><code><meta charset="UTF-8"></code>:这个太重要了,它定义了文档的字符编码,通常用UTF-8,避免中文乱码的噩梦。</li><li><code><title></code>:定义了浏览器标签页上显示的标题,也是搜索引擎抓取的重要信息。</li><li><code><link rel="stylesheet" href="style.css"></code>:用来引入外部CSS样式表。</li><li><code><script src="script.js"></script></code>:用来引入外部JavaScript文件。</li><li><code><meta name="viewport" content="width=device-width, initial-scale=1.0"></code>:这个对移动设备适配特别关键,控制视口行为。</li></ul><p>而<code><body></code>部分,才是真正承载网页可见内容的区域。你看到的所有文本、图片、链接、按钮等等,都放在这里面。比如:</p><ul><li><code><h1></code>到<code><h6></code>:各种级别的标题。</li><li><code><p></code>:段落文本。</li><li><code><a></code>:超链接。</li><li><code><img></code>:图片。</li><li><code><div></code>和<code><span></code>:最常用的通用容器,前者是块级元素,后者是行内元素,它们本身没有语义,但常用于布局和样式控制。</li><li><code><ul></code>、<code><ol></code>、<code><li></code>:无序列表、有序列表和列表项。</li></ul><p>这些标签构成了HTML文档的基础,理解它们的作用是构建任何网页的第一步。有时候,我甚至觉得HTML的魅力就在于它的简洁和直观,你不需要太多的编程背景,就能通过这些标签描绘出网页的骨架。</p><h3>为什么我的HTML文件打开是乱码或者显示不正常?</h3><p>这绝对是初学者甚至一些老手都可能遇到的“经典”问题。打开一个HTML文件,结果看到一堆天书般的乱码,或者图片、样式全没了,页面布局一塌糊涂。这背后通常有几个常见的原因。</p><p>最常见的就是<strong>字符编码问题</strong>。如果你在HTML文件的<code><head></code>里没有设置<code><meta charset="UTF-8"></code>,或者设置了但保存文件时用了不同的编码(比如ANSI),那么当浏览器以UTF-8去解析一个GBK编码的文件时,或者反之,乱码就出现了。尤其是在处理中文内容时,这个问题特别突出。我的建议是,始终在HTML文件的头部明确指定<code><meta charset="UTF-8"></code>,并且确保你的文本编辑器也以UTF-8无BOM(Byte Order Mark)格式保存文件。</p><p>其次是<strong>资源路径错误</strong>。你的CSS文件、JavaScript文件、图片等外部资源,如果HTML文件里引用的路径不对,浏览器就找不到它们。可能是相对路径写错了,比如<code>./images/pic.jpg</code>写成了<code>/images/pic.jpg</code>(后者是从网站根目录开始找,而前者是从当前HTML文件所在目录开始找),或者文件名、扩展名打错了。当你发现样式缺失、图片不显示时,打开浏览器的开发者工具(通常按F12),查看“Console”(控制台)和“Network”(网络)面板,你会看到很多404(Not Found)错误,那基本上就是路径问题了。</p><p>再来就是<strong>HTML或CSS语法错误</strong>。虽然HTML对语法错误比较宽容,浏览器会尽力去解析,但一些严重的错误,比如标签没有正确闭合、属性值没有加引号、CSS选择器写错、样式属性拼写错误等,都可能导致页面显示异常。浏览器开发者工具的“Elements”(元素)和“Console”面板是排查这类问题的利器,它们会高亮显示有问题的代码,并给出错误提示。</p><p>最后,有时也可能是<strong>浏览器缓存</strong>在作怪。你修改了HTML或CSS文件,但浏览器还在显示旧版本。这时候,强制刷新页面(Ctrl+F5或Cmd+Shift+R)通常能解决问题。如果还不行,可能需要清理浏览器缓存。</p><p>解决这些问题,通常就是细心检查代码、利用开发者工具,一步步排除故障。</p><h3>开发HTML文档时,有哪些常用的工具和最佳实践?</h3><p>要高效、舒适地开发HTML文档,选择合适的工具和遵循一些最佳实践是必不可少的。我个人觉得,工具的选择很大程度上影响了开发体验。</p><p><strong>常用的开发工具:</strong></p><ul><li><strong>VS Code (Visual Studio Code):</strong> 这几乎是现代Web开发的标配了。它免费、开源、轻量级,但功能强大,拥有海量的插件生态系统。比如,Live Server插件可以让你在保存HTML文件后自动刷新浏览器,非常方便;Emmet(内置)能让你通过缩写快速生成HTML结构;还有各种代码格式化、语法高亮、智能提示等等,极大提升了编写效率。</li><li><strong>Sublime Text:</strong> 曾经的王者,依然有不少忠实用户。它启动速度快,界面简洁,同样支持丰富的插件,但它不是免费的(虽然可以无限期试用)。</li><li><strong>Atom:</strong> GitHub出品的文本编辑器,基于Electron框架,可定制性强,但相比VS Code,性能上略显笨重。</li><li><strong>WebStorm:</strong> JetBrains公司出品的专业级IDE,功能非常全面,对JavaScript、HTML、CSS的支持都非常完善,但它是付费的。如果你是专业前端开发者,它绝对值得投入。</li><li><strong>甚至就是简单的文本编辑器:</strong> 比如Windows的记事本、macOS的TextEdit,虽然功能简陋,但对于学习HTML基础,理解其纯文本本质,也是一种不错的选择。我记得刚开始学的时候,就是用记事本敲代码,那种“从零开始”的感觉挺纯粹的。</li></ul><p><strong>最佳实践:</strong></p><ul><li><strong>语义化HTML:</strong> 这是非常重要的一点。尽量使用有实际意义的HTML标签,而不是一味地用<code><div></code>和<code><span></code>。比如,用<code><header></code>表示页眉,<code><nav></code>表示导航,<code><main></code>表示主要内容,<code><article></code>表示独立文章,<code><footer></code>表示页脚。这样做不仅让代码更易读,对搜索引擎优化(SEO)和无障碍访问(Accessibility)也大有裨益。浏览器和辅助技术能更好地理解你的页面结构。</li><li><strong>保持代码整洁和格式化:</strong> 使用一致的缩进(2或4个空格)、合理的换行,让代码看起来井井有条。大多数现代编辑器都支持代码格式化功能(比如VS Code的Prettier插件),可以一键搞定。</li><li><strong>外部化CSS和JavaScript:</strong> 避免在HTML文件中直接写入大量的<code><style></code>和<code><script></code>标签(除非是极小量的内联样式或脚本)。将CSS放在单独的<code>.css</code>文件,JavaScript放在单独的<code>.js</code>文件,并通过<code><link></code>和<code><script></code>标签引入。这有助于代码复用、缓存优化和职责分离。</li><li><strong>响应式设计考虑:</strong> 现代网页需要适应各种屏幕尺寸。除了前面提到的<code><meta name="viewport"></code>,还要结合CSS媒体查询(Media Queries)来调整布局和样式。</li><li><strong>使用开发者工具调试:</strong> 这是日常工作中必不可少的技能。熟练运用浏览器自带的开发者工具(F12),可以检查元素、调试CSS、监控网络请求、查看控制台错误,效率会大大提高。</li><li><strong>版本控制:</strong> 即使是个人项目,也强烈推荐使用Git进行版本控制。它可以帮助你跟踪代码变更、回溯历史版本、与他人协作,避免“我改了什么,怎么又坏了”的困境。</li></ul><p>这些工具和实践,不是一蹴而就的,需要你在实际项目中不断摸索和积累。但它们确实能让你的HTML开发之路走得更顺畅,也更有成就感。</p><p>以上就是《HTML基础标签详解与文件打开方法》的详细内容,更多关于html,浏览器,编码,标签,开发者工具的资料请关注golang学习网公众号!</p> </div> <div class="labsList"> <a href="javascript:;" title="html">html</a> <a href="javascript:;" title="浏览器">浏览器</a> <a href="javascript:;" title="编码">编码</a> <a href="javascript:;" title="标签">标签</a> <a href="javascript:;" title="开发者工具">开发者工具</a> </div> <div class="cateBox"> <div class="cateItem"> <a href="/article/283676.html" title="PHP-r执行带特殊字符代码方法" class="img_box"> <img src="/uploads/20250813/1755079415689c62f70bf44.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="PHP-r执行带特殊字符代码方法">PHP-r执行带特殊字符代码方法 </a> <dl> <dt class="lineOverflow"><a href="/article/283676.html" title="PHP-r执行带特殊字符代码方法" class="aBlack">上一篇<i></i></a></dt> <dd class="lineTwoOverflow">PHP-r执行带特殊字符代码方法</dd> </dl> </div> <div class="cateItem"> <a href="/article/283678.html" title="Python异常检测:Z-score与IQR算法详解" class="img_box"> <img src="/uploads/20250813/1755079531689c636b92b5d.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="Python异常检测:Z-score与IQR算法详解"> </a> <dl> <dt class="lineOverflow"><a href="/article/283678.html" class="aBlack" title="Python异常检测:Z-score与IQR算法详解">下一篇<i></i></a></dt> <dd class="lineTwoOverflow">Python异常检测:Z-score与IQR算法详解</dd> </dl> </div> </div> </div> </div> <div class="leftContBox pt0"> <div class="pdl20"> <div class="contTit"> <a href="/articlelist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a> <div class="tit">最新文章</div> </div> </div> <ul class="newArticleList"> <li> <div class="contBox"> <a href="/article/283823.html" class="img_box" title="JS打造多功能Markdown编辑器开发教程"> <img src="/uploads/20250813/1755086490689c7e9a2835d.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="JS打造多功能Markdown编辑器开发教程"> </a> <dl> <dd class="cont1"> <span> <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分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283823.html" class="aBlack" target="_blank" title="JS打造多功能Markdown编辑器开发教程">JS打造多功能Markdown编辑器开发教程</a> </dt> <dd class="cont2"> <span><i class="view"></i>393浏览</span> <span class="collectBtn user_collection" data-id="283823" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283822.html" class="img_box" title="CommonJS与ES模块区别详解"> <img src="/uploads/20250813/1755086447689c7e6fbe277.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="CommonJS与ES模块区别详解"> </a> <dl> <dd class="cont1"> <span> <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="异步加载">异步加载</a> <a href="javascript:;" class="aLightGray" title="CommonJS">CommonJS</a> <a href="javascript:;" class="aLightGray" title="ES模块">ES模块</a> <a href="javascript:;" class="aLightGray" title="同步加载">同步加载</a> </span> </dd> <dt class="lineOverflow"> <a href="/article/283822.html" class="aBlack" target="_blank" title="CommonJS与ES模块区别详解">CommonJS与ES模块区别详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>464浏览</span> <span class="collectBtn user_collection" data-id="283822" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283817.html" class="img_box" title="HTML动态添加下拉框选项方法"> <img src="/uploads/20250813/1755086251689c7dab4e3a3.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="HTML动态添加下拉框选项方法"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  5分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283817.html" class="aBlack" target="_blank" title="HTML动态添加下拉框选项方法">HTML动态添加下拉框选项方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>103浏览</span> <span class="collectBtn user_collection" data-id="283817" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283816.html" class="img_box" title="JS实现简单登录验证与后端交互方法"> <img src="/uploads/20250813/1755086139689c7d3b27244.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="JS实现简单登录验证与后端交互方法"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  7分钟前  |   <a href="javascript:;" class="aLightGray" title="JavaScript">JavaScript</a> <a href="javascript:;" class="aLightGray" title="token">token</a> <a href="javascript:;" class="aLightGray" title="用户登录">用户登录</a> <a href="javascript:;" class="aLightGray" title="忘记密码">忘记密码</a> <a href="javascript:;" class="aLightGray" title="安全存储">安全存储</a> </span> </dd> <dt class="lineOverflow"> <a href="/article/283816.html" class="aBlack" target="_blank" title="JS实现简单登录验证与后端交互方法">JS实现简单登录验证与后端交互方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>225浏览</span> <span class="collectBtn user_collection" data-id="283816" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283807.html" class="img_box" title="HTML表单添加步骤详解及示例代码"> <img src="/uploads/20250813/1755085716689c7b94e9e45.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="HTML表单添加步骤详解及示例代码"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  14分钟前  |   <a href="javascript:;" class="aLightGray" title="表单验证">表单验证</a> <a href="javascript:;" class="aLightGray" title="HTML表单">HTML表单</a> <a href="javascript:;" class="aLightGray" title="JavaScript增强">JavaScript增强</a> <a href="javascript:;" class="aLightGray" title="输入控件">输入控件</a> <a href="javascript:;" class="aLightGray" title="<form>标签"><form>标签</a> </span> </dd> <dt class="lineOverflow"> <a href="/article/283807.html" class="aBlack" target="_blank" title="HTML表单添加步骤详解及示例代码">HTML表单添加步骤详解及示例代码</a> </dt> <dd class="cont2"> <span><i class="view"></i>380浏览</span> <span class="collectBtn user_collection" data-id="283807" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283803.html" class="img_box" title="HTML表格制作教程:table标签详解"> <img src="/uploads/20250813/1755085528689c7ad8a7345.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="HTML表格制作教程:table标签详解"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  17分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283803.html" class="aBlack" target="_blank" title="HTML表格制作教程:table标签详解">HTML表格制作教程:table标签详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>377浏览</span> <span class="collectBtn user_collection" data-id="283803" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283801.html" class="img_box" title="HTML中b标签的使用方法及适用场景"> <img src="/uploads/20250813/1755085470689c7a9e41264.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="HTML中b标签的使用方法及适用场景"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  18分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283801.html" class="aBlack" target="_blank" title="HTML中b标签的使用方法及适用场景">HTML中b标签的使用方法及适用场景</a> </dt> <dd class="cont2"> <span><i class="view"></i>120浏览</span> <span class="collectBtn user_collection" data-id="283801" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283798.html" class="img_box" title="判断JS变量是否为布尔值的技巧"> <img src="/uploads/20250813/1755085349689c7a25d5791.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="判断JS变量是否为布尔值的技巧"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  20分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283798.html" class="aBlack" target="_blank" title="判断JS变量是否为布尔值的技巧">判断JS变量是否为布尔值的技巧</a> </dt> <dd class="cont2"> <span><i class="view"></i>264浏览</span> <span class="collectBtn user_collection" data-id="283798" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283791.html" class="img_box" title="图标按钮添加可访问性方法大全"> <img src="/uploads/20250813/1755084996689c78c425fb4.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="图标按钮添加可访问性方法大全"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  26分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283791.html" class="aBlack" target="_blank" title="图标按钮添加可访问性方法大全">图标按钮添加可访问性方法大全</a> </dt> <dd class="cont2"> <span><i class="view"></i>395浏览</span> <span class="collectBtn user_collection" data-id="283791" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283790.html" class="img_box" title="JS遍历对象属性的5种方法"> <img src="/uploads/20250813/1755084929689c7881367b0.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="JS遍历对象属性的5种方法"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  27分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283790.html" class="aBlack" target="_blank" title="JS遍历对象属性的5种方法">JS遍历对象属性的5种方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>400浏览</span> <span class="collectBtn user_collection" data-id="283790" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283786.html" class="img_box" title="JS调用摄像头实时预览方法详解"> <img src="/uploads/20250813/1755084571689c771b0e489.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="JS调用摄像头实时预览方法详解"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  33分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283786.html" class="aBlack" target="_blank" title="JS调用摄像头实时预览方法详解">JS调用摄像头实时预览方法详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>290浏览</span> <span class="collectBtn user_collection" data-id="283786" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/283784.html" class="img_box" title="JavaScript闭包保存用户偏好方法"> <img src="/uploads/20250813/1755084456689c76a899343.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="JavaScript闭包保存用户偏好方法"> </a> <dl> <dd class="cont1"> <span> <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> · <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>   |  35分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/283784.html" class="aBlack" target="_blank" title="JavaScript闭包保存用户偏好方法">JavaScript闭包保存用户偏好方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>485浏览</span> <span class="collectBtn user_collection" data-id="283784" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> </ul> </div> </div> <div class="mainRight"> <!-- 右侧广告位banner --> <div class="rightContBox" style="margin-top: 0px;"> <div class="rightTit"> <a href="/courselist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a> <div class="tit lineOverflow">课程推荐</div> </div> <ul class="lessonRecomRList"> <li> <a href="/course/9.html" class="img_box" target="_blank" title="前端进阶之JavaScript设计模式"> <img src="/uploads/20221222/52fd0f23a454c71029c2c72d206ed815.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="前端进阶之JavaScript设计模式"> </a> <dl> <dt class="lineTwoOverflow"><a href="/course/9.html" target="_blank" class="aBlack" title="前端进阶之JavaScript设计模式">前端进阶之JavaScript设计模式</a></dt> <dd class="cont1 lineTwoOverflow"> 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。 </dd> <dd class="cont2">542次学习</dd> </dl> </li> <li> <a href="/course/2.html" class="img_box" target="_blank" title="GO语言核心编程课程"> <img src="/uploads/20221221/634ad7404159bfefc6a54a564d437b5f.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="GO语言核心编程课程"> </a> <dl> <dt class="lineTwoOverflow"><a href="/course/2.html" target="_blank" class="aBlack" title="GO语言核心编程课程">GO语言核心编程课程</a></dt> <dd class="cont1 lineTwoOverflow"> 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。 </dd> <dd class="cont2">511次学习</dd> </dl> </li> <li> <a href="/course/74.html" class="img_box" target="_blank" title="简单聊聊mysql8与网络通信"> <img src="/uploads/20240103/bad35fe14edbd214bee16f88343ac57c.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="简单聊聊mysql8与网络通信"> </a> <dl> <dt class="lineTwoOverflow"><a href="/course/74.html" target="_blank" class="aBlack" title="简单聊聊mysql8与网络通信">简单聊聊mysql8与网络通信</a></dt> <dd class="cont1 lineTwoOverflow"> 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让 </dd> <dd class="cont2">498次学习</dd> </dl> </li> <li> <a href="/course/57.html" class="img_box" target="_blank" title="JavaScript正则表达式基础与实战"> <img src="/uploads/20221226/bbe4083bb3cb0dd135fb02c31c3785fb.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="JavaScript正则表达式基础与实战"> </a> <dl> <dt class="lineTwoOverflow"><a href="/course/57.html" target="_blank" class="aBlack" title="JavaScript正则表达式基础与实战">JavaScript正则表达式基础与实战</a></dt> <dd class="cont1 lineTwoOverflow"> 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。 </dd> <dd class="cont2">487次学习</dd> </dl> </li> <li> <a href="/course/28.html" class="img_box" target="_blank" title="从零制作响应式网站—Grid布局"> <img src="/uploads/20221223/ac110f88206daeab6c0cf38ebf5fe9ed.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="从零制作响应式网站—Grid布局"> </a> <dl> <dt class="lineTwoOverflow"><a href="/course/28.html" target="_blank" class="aBlack" title="从零制作响应式网站—Grid布局">从零制作响应式网站—Grid布局</a></dt> <dd class="cont1 lineTwoOverflow"> 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。 </dd> <dd class="cont2">484次学习</dd> </dl> </li> </ul> </div> <div class="rightContBox"> <div class="rightTit"> <a href="/ai.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a> <div class="tit lineOverflow">AI推荐</div> </div> <ul class="lessonRecomRList"> <li> <a href="/ai/13035.html" target="_blank" title="千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!" class="img_box"> <img src="/uploads/20250723/1753258213688098e5ef34b.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13035.html" class="aBlack" target="_blank" title="千音漫语">千音漫语</a></dt> <dd class="cont1 lineTwoOverflow"> 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com </dd> <dd class="cont2">164次使用</dd> </dl> </li> <li> <a href="/ai/13034.html" target="_blank" title="MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案" class="img_box"> <img src="/uploads/20250716/17526246026876edda8c2a4.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13034.html" class="aBlack" target="_blank" title="MiniWork">MiniWork</a></dt> <dd class="cont1 lineTwoOverflow"> MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。 </dd> <dd class="cont2">156次使用</dd> </dl> </li> <li> <a href="/ai/13033.html" target="_blank" title="NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛" class="img_box"> <img src="https://s0.wp.com/mshots/v1/nocode.cn?w=383&h=328" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13033.html" class="aBlack" target="_blank" title="NoCode">NoCode</a></dt> <dd class="cont1 lineTwoOverflow"> NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。 </dd> <dd class="cont2">166次使用</dd> </dl> </li> <li> <a href="/ai/13032.html" target="_blank" title="达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病" class="img_box"> <img src="/uploads/20250716/1752631805687709fd1f103.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13032.html" class="aBlack" target="_blank" title="达医智影">达医智影</a></dt> <dd class="cont1 lineTwoOverflow"> 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。 </dd> <dd class="cont2">166次使用</dd> </dl> </li> <li> <a href="/ai/13031.html" target="_blank" title="智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃" class="img_box"> <img src="https://s0.wp.com/mshots/v1/eureka.zhihuiya.com?w=383&h=328" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13031.html" class="aBlack" target="_blank" title="智慧芽Eureka">智慧芽Eureka</a></dt> <dd class="cont1 lineTwoOverflow"> 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。 </dd> <dd class="cont2">175次使用</dd> </dl> </li> </ul> </div> <!-- 相关文章 --> <div class="rightContBox"> <div class="rightTit"> <a href="/articlelist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a> <div class="tit lineOverflow">相关文章</div> </div> <ul class="aboutArticleRList"> <li> <dl> <dt class="lineTwoOverflow"><a href="/article/72840.html" class="aBlack" title="优化用户界面体验的秘密武器:CSS开发项目经验大揭秘">优化用户界面体验的秘密武器:CSS开发项目经验大揭秘</a></dt> <dd> <span class="left">2023-11-03</span> <span class="right">501浏览</span> </dd> </dl> </li> <li> <dl> <dt class="lineTwoOverflow"><a href="/article/76259.html" class="aBlack" title="使用微信小程序实现图片轮播特效">使用微信小程序实现图片轮播特效</a></dt> <dd> <span class="left">2023-11-21</span> <span class="right">501浏览</span> </dd> </dl> </li> <li> <dl> <dt class="lineTwoOverflow"><a href="/article/83771.html" class="aBlack" title="解析sessionStorage的存储能力与限制">解析sessionStorage的存储能力与限制</a></dt> <dd> <span class="left">2024-01-11</span> <span class="right">501浏览</span> </dd> </dl> </li> <li> <dl> <dt class="lineTwoOverflow"><a href="/article/85057.html" class="aBlack" title="探索冒泡活动对于团队合作的推动力">探索冒泡活动对于团队合作的推动力</a></dt> <dd> <span class="left">2024-01-13</span> <span class="right">501浏览</span> </dd> </dl> </li> <li> <dl> <dt class="lineTwoOverflow"><a href="/article/91359.html" class="aBlack" title="UI设计中为何选择绝对定位的智慧之道">UI设计中为何选择绝对定位的智慧之道</a></dt> <dd> <span class="left">2024-02-03</span> <span class="right">501浏览</span> </dd> </dl> </li> </ul> </div> </div> </div> <div class="footer"> <div class="footerIn"> <div class="footLeft"> <div class="linkBox"> <a href="/about/1.html" target="_blank" class="aBlack" title="关于我们">关于我们</a> <a href="/about/5.html" target="_blank" class="aBlack" title="免责声明">免责声明</a> <a href="#" class="aBlack" title="意见反馈">意见反馈</a> <a href="/about/2.html" class="aBlack" target="_blank" title="联系我们">联系我们</a> <a href="/send.html" class="aBlack" title="广告合作">内容提交</a> </div> <div class="footTip">Golang学习网:公益在线Go学习平台,帮助Go学习者快速成长!</div> <div class="shareBox"> <span><i class="qq"></i>技术交流群</span> </div> <div class="copyRight"> Copyright 2023 http://www.17golang.com/ All Rights Reserved | <a href="https://beian.miit.gov.cn/" target="_blank" title="备案">苏ICP备2023003363号-1</a> </div> </div> <div class="footRight"> <ul class="encodeList"> <li> <div class="encodeImg"> <img src="/assets/examples/qrcode_for_gh.jpg" alt="Golang学习网"> </div> <div class="tit">关注公众号</div> <div class="tip">Golang学习网</div> </li> <div class="clear"></div> </ul> </div> <div class="clear"></div> </div> </div> <!-- 微信登录弹窗 --> <style> .popupBg .n-error{ color: red; } </style> <div class="popupBg"> <div class="loginBoxBox"> <div class="imgbg"> <img src="/assets/images/leftlogo.jpg" alt=""> </div> <!-- 微信登录 --> <div class="loginInfo encodeLogin" style="display: none;"> <div class="closeIcon" onclick="$('.popupBg').hide();"></div> <div class="changeLoginType cursorPointer create_wxqrcode" onclick="$('.loginInfo').hide();$('.passwordLogin').show();"> <div class="tip">密码登录在这里</div> </div> <div class="encodeInfo"> <div class="tit"><i></i> 微信扫码登录或注册</div> <div class="encodeImg"> <span id="wx_login_qrcode"><img src="/assets/examples/code.png" alt="二维码"></span> <!-- <div class="refreshBox"> <p>二维码失效</p> <button type="button" class="create_wxqrcode">刷新1111</button> </div> --> </div> <div class="tip">打开微信扫一扫,快速登录/注册</div> </div> <div class="beforeLoginTip">登录即同意 <a href="#" class="aBlue" title="用户协议">用户协议</a> 和 <a href="#" class="aBlue" title="隐私政策">隐私政策</a></div> </div> <!-- 密码登录 --> <div class="loginInfo passwordLogin"> <div class="closeIcon" onclick="$('.popupBg').hide();"></div> <div class="changeLoginType cursorPointer create_wxqrcode" onclick="$('.loginInfo').hide();$('.encodeLogin').show();"> <div class="tip">微信登录更方便</div> </div> <div class="passwordInfo"> <ul class="logintabs selfTabMenu"> <li class="selfTabItem loginFormLi curr">密码登录</li> <li class="selfTabItem registerFormBox ">注册账号</li> </ul> <div class="selfTabContBox"> <div class="selfTabCont loginFormBox" style="display: block;"> <form name="form" id="login-form" class="form-vertical form" method="POST" action="/index/user/login"> <input type="hidden" name="url" value="//www.17golang.com/article/283677.html"/> <input type="hidden" name="__token__" value="0e0c9b4065c324c17c045b99e5b17023" /> <div class="form-group" style="height:70px;"> <input class="form-control" id="account" type="text" name="account" value="" data-rule="required" placeholder="邮箱/用户名" autocomplete="off"> </div> <div class="form-group" style="height:70px;"> <input class="form-control" id="password" type="password" name="password" data-rule="required;password" placeholder="密码" autocomplete="off"> </div> <div class="codeBox" style="height:70px;"> <div class="form-group" style="height:70px; width:205px; float: left;"> <input type="text" name="captcha" class="form-control" placeholder="验证码" data-rule="required;length(4)" /> </div> <span class="input-group-btn" style="padding:0;border:none;"> <img src="/captcha.html" width="100" height="45" onclick="this.src = '/captcha.html?r=' + Math.random();"/> </span> </div> <div class="other"> <a href="#" class="forgetPwd aGray" onclick="$('.loginInfo').hide();$('.passwordForget').show();" title="忘记密码">忘记密码</a> </div> <div class="loginBtn mt25"> <button type="submit">登录</button> </div> </form> </div> <div class="selfTabCont registerFormBox" style="display: none;"> <form name="form1" id="register-form" class="form-vertical form" method="POST" action="/index/user/register"> <input type="hidden" name="invite_user_id" value="0"/> <input type="hidden" name="url" value="//www.17golang.com/article/283677.html"/> <input type="hidden" name="__token__" value="0e0c9b4065c324c17c045b99e5b17023" /> <div class="form-group" style="height:70px;"> <input type="text" name="email" id="email2" data-rule="required;email" class="form-control" placeholder="邮箱"> </div> <div class="form-group" style="height:70px;"> <input type="text" id="username" name="username" data-rule="required;username" class="form-control" placeholder="用户名必须3-30个字符"> </div> <div class="form-group" style="height:70px;"> <input type="password" id="password2" name="password" data-rule="required;password" class="form-control" placeholder="密码必须6-30个字符"> </div> <div class="codeBox" style="height:70px;"> <div class="form-group" style="height:70px; width:205px; float: left;"> <input type="text" name="captcha" class="form-control" placeholder="验证码" data-rule="required;length(4)" /> </div> <span class="input-group-btn" style="padding:0;border:none;"> <img src="/captcha.html" width="100" height="45" onclick="this.src = '/captcha.html?r=' + Math.random();"/> </span> </div> <div class="loginBtn"> <button type="submit">注册</button> </div> </form> </div> </div> </div> <div class="beforeLoginTip">登录即同意 <a href="https://www.17golang.com/about/3.html" target="_blank" class="aBlue" title="用户协议">用户协议</a> 和 <a href="https://www.17golang.com/about/4.html" target="_blank" class="aBlue" title="隐私政策">隐私政策</a></div> </div> <!-- 重置密码 --> <div class="loginInfo passwordForget"> <div class="closeIcon" onclick="$('.popupBg').hide();"></div> <div class="returnLogin cursorPointer" onclick="$('.passwordForget').hide();$('.passwordLogin').show();">返回登录</div> <div class="passwordInfo"> <ul class="logintabs selfTabMenu"> <li class="selfTabItem">重置密码</li> </ul> <div class="selfTabContBox"> <div class="selfTabCont"> <form id="resetpwd-form" class="form-horizontal form-layer nice-validator n-default n-bootstrap form" method="POST" action="/api/user/resetpwd.html" novalidate="novalidate"> <div style="height:70px;"> <input type="text" class="form-control" id="email" name="email" value="" placeholder="输入邮箱" aria-invalid="true"> </div> <div class="codeBox" style="height:70px;"> <div class="form-group" style="height:70px; width:205px; float: left;"> <input type="text" name="captcha" class="form-control" placeholder="验证码" /> </div> <span class="input-group-btn" style="padding:0;border:none;"> <a href="javascript:;" class="btn btn-primary btn-captcha cursorPointer" style="background: #2080F8; border-radius: 4px; color: #fff; padding: 12px; position: absolute;" data-url="/api/ems/send.html" data-type="email" data-event="resetpwd">发送验证码</a> </span> </div> <input type="password" class="form-control" id="newpassword" name="newpassword" value="" placeholder="请输入6-18位密码"> <div class="loginBtn mt25"> <button type="submit">重置密码</button> </div> </form> </div> </div> </div> </div> </div> </div> <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> <script src="/assets/js/require.js" data-main="/assets/js/require-frontend.js?v=1671101972"></script> </body> </html>