当前位置:首页 > 文章列表 > 文章 > 前端 > HTML文件怎么打开和查看

HTML文件怎么打开和查看

2025-07-29 19:08:46 0浏览 收藏

HTML文件是构建网页的基石,它包含了文本、标签和结构信息,定义了网页内容的呈现方式。想一窥HTML的奥秘?用浏览器或代码编辑器打开文件即可。本文将深入探讨HTML文件的内部结构,重点解析区域的关键元数据,如、<meta>标签(charset、viewport、description等)的作用,以及<link>和<script>标签如何引入外部资源。同时,我们将对比查看HTML源代码与开发者工具中DOM树的区别,阐述HTML5语义化标签(<header>、<nav>、<main>等)如何提升网页可读性、可访问性和SEO表现,告别“div soup”,拥抱结构化语义设计。 </p><p>HTML文件的<head>区域承载了网页的关键元数据,包括<title>定义的标题、<meta>标签声明的字符编码(charset)、视口设置(viewport)、页面描述(description)、作者信息(author)等;2. 它还通过<link>标签引入外部资源如CSS样式表和网站图标,通过<script>标签加载JavaScript脚本,支持Open Graph和Twitter Cards等协议以优化社交媒体分享效果;3. 查看HTML源代码显示的是服务器返回的原始静态内容,而开发者工具中的DOM树反映的是浏览器解析后包含JavaScript动态修改的实时结构;4. HTML5语义化标签如<header>、<nav>、<main>、<article>、<section>、<aside>、<footer>等提升了代码可读性、可维护性,增强了对屏幕阅读器的友好性,改善了网页可访问性与SEO表现,标志着从“div soup”到结构化语义设计的进步。</p><p><img src="/uploads/20250729/17537872876888ab97150f9.png" alt="HTML文件包含哪些内容?如何查看HTML文档?"></p><p>HTML文件,说白了,就是构建网页内容的骨架。它主要包含了你能在浏览器里看到的所有文本、图片、链接、视频等多媒体内容,以及这些内容是如何组织和呈现的结构信息。想查看它?最直接的方式就是用浏览器打开,或者用任何文本编辑器,甚至是最简单的记事本,就能看到它背后的“源代码”。</p><img src="/uploads/20250729/17537872876888ab9716eb9.png" alt="HTML文件包含哪些内容?如何查看HTML文档?"><h3>解决方案</h3><p>一份HTML文件,从宏观上看,它就像一个层层嵌套的盒子。最外层是<code><html></code>,包裹着整个文档。它里面又分为两个主要部分:<code><body></code> 和 <code><head></code>。</p><p><code><body></code> 标签里,承载了所有你眼睛能直接看到的网页内容。这包括各种标题(<code><h1></code>到<code><h6></code>)、段落(<code><p></code>)、图片(<code><img></code>)、超链接(<code><a></code>)、列表(<code><ul></code>、<code><ol></code>、<code><li></code>)、表格(<code><table></code>)以及各种表单元素(<code><input></code>、<code><textarea></code>、<code><button></code>)等等。近年来,HTML5还引入了许多语义化标签,比如<code><header></code>、<code><nav></code>、<code><main></code>、<code><article></code>、<code><section></code>、<code><footer></code>,它们让网页结构更加清晰,不仅仅是对人,对搜索引擎和辅助技术也更加友好。</p><img src="/uploads/20250729/17537872876888ab97195d5.png" alt="HTML文件包含哪些内容?如何查看HTML文档?"><p>而 <code><head></code> 标签,它藏着很多“幕后”信息,这些内容通常不会直接显示在网页上,但对网页的正常运行和表现至关重要。比如,网页的标题(<code><title></code>),就是你在浏览器标签页上看到的名字;还有各种元数据(<code><meta></code>),比如字符编码(<code>charset</code>)、视口设置(<code>viewport</code>),这些决定了网页如何正确显示和在不同设备上的响应行为。此外,外部的CSS样式表(<code><link rel="stylesheet"></code>)和JavaScript脚本(<code><script src="..."></code>)也都是在这里被引入的。</p><p>要查看一个HTML文档,方法其实挺多的,根据你的目的来选择。</p><img src="/uploads/20250729/17537872876888ab971ac97.png" alt="HTML文件包含哪些内容?如何查看HTML文档?"><p>最常用的,当然是<strong>用浏览器直接打开</strong>。你可以把本地的HTML文件拖拽到任何浏览器窗口,或者通过浏览器的“文件”菜单选择“打开文件”(快捷键通常是<code>Ctrl+O</code>或<code>Cmd+O</code>)。对于在线的网页,直接输入URL访问就行。更进一步,每个现代浏览器都内置了<strong>开发者工具</strong>(通常按<code>F12</code>或<code>Cmd+Option+I</code>),在“元素”(Elements)或“检查”(Inspector)面板里,你能看到浏览器解析后的实时DOM结构,包括应用了哪些样式、JavaScript做了哪些修改,这比单纯看原始HTML文件要强大得多。</p><p>如果你想看原始的、未经浏览器渲染的HTML代码,<strong>文本编辑器</strong>就是你的最佳选择。无论是专业的代码编辑器(如VS Code、Sublime Text、Atom)还是系统自带的记事本,都能直接打开<code>.html</code>文件。这种方式能让你看到文件最原始的状态,对于理解代码逻辑、排查语法错误非常有帮助。</p><h3>HTML文档的区域承载了哪些关键元数据?</h3><p><code><head></code>区域在HTML文档中扮演着一个非常重要的角色,它就像是网页的“身份证”和“配置清单”。这里面的信息虽然不直接呈现给用户,但对网页的正确渲染、搜索引擎优化(SEO)、社交媒体分享效果以及用户体验都有着决定性的影响。</p><p>首先,最基础且不可或缺的是<code><title></code>标签,它定义了网页在浏览器标签页、书签和搜索结果中显示的标题。一个好的标题不仅能吸引用户点击,也对SEO至关重要。</p><p>然后是各种<code><meta></code>标签,它们提供了关于HTML文档的元数据。比如,<code><meta charset="UTF-8"></code>声明了文档的字符编码,确保页面上的文字能正确显示,避免乱码。<code><meta name="viewport" content="width=device-width, initial-scale=1.0"></code>对于响应式设计来说是必需的,它告诉浏览器如何控制页面的视口大小和缩放比例,让网页在手机等不同设备上也能良好显示。此外,还有<code>description</code>(页面描述,常用于搜索结果摘要)、<code>keywords</code>(页面关键词,虽然现在对SEO影响较小)、<code>author</code>(作者信息)等。更高级的还有Open Graph协议(<code>og:</code>前缀)和Twitter Cards(<code>twitter:</code>前缀)相关的meta标签,它们决定了当你的网页链接在Facebook、Twitter等社交媒体上分享时,会显示什么样的标题、描述和图片。</p><p><code><link></code>标签主要用于链接外部资源,最常见的就是<code><link rel="stylesheet" href="style.css"></code>,它将外部CSS样式表引入到页面中,控制网页的视觉呈现。你还会看到它用来引入网站图标(Favicon),比如<code><link rel="icon" href="favicon.ico"></code>。</p><p><code><script></code>标签则用于引入JavaScript代码,可以是外部文件(<code><script src="script.js"></script></code>),也可以是直接写在标签内的内联脚本。JavaScript负责网页的交互性和动态功能。</p><p>有时候,你还会看到<code><base></code>标签,它定义了页面中所有相对URL的基准URL。这在某些复杂的网站结构中会很有用。</p><p>可以说,理解并正确配置<code><head></code>里的内容,是构建一个健壮、高效且对用户友好的现代网页的第一步。</p><h3>查看HTML源代码与通过开发者工具检查DOM树有何本质区别?</h3><p>这确实是初学者常常感到困惑,但对前端开发至关重要的一个区别。简单来说,查看HTML源代码和检查DOM树,就像是看一份建筑的“原始设计图”和看一栋“已经建好且可能经过改造的房子”的区别。</p><p><strong>查看HTML源代码</strong>(通常通过浏览器菜单的“查看页面源代码”或快捷键<code>Ctrl+U</code>/<code>Cmd+Option+U</code>)给你展示的是浏览器从服务器接收到的原始HTML文件内容。这份代码是静态的,它反映的是开发者最初编写并部署到服务器上的内容。如果你网页中的某些内容是通过JavaScript在页面加载后动态添加或修改的,那么在原始源代码里是看不到这些变化的。它的主要作用是帮助你理解网页的初始结构、排查服务器端渲染问题,或者检查搜索引擎爬虫能抓取到的原始内容。</p><p>而<strong>通过浏览器开发者工具检查DOM树</strong>(在“元素”或“Elements”面板中),你看到的是浏览器解析HTML、应用CSS、并执行JavaScript后,在内存中构建的文档对象模型(Document Object Model)。这个DOM树是动态的、实时的。这意味着,如果页面上的某个元素被JavaScript脚本创建、删除、修改了内容、属性或者样式,这些变化都会立即反映在DOM树中。你可以在这里实时修改元素的样式、内容,甚至拖拽元素改变其位置,并立即看到效果。它对于调试客户端JavaScript问题、布局问题、响应式设计问题以及理解用户交互后的页面状态至关重要。</p><p>举个例子,如果你的网页有一个“点击加载更多”按钮,点击后会通过AJAX请求获取新内容并添加到页面上。当你查看原始HTML源代码时,你可能只会看到那个按钮,而不会看到后续加载出来的内容。但如果你打开开发者工具,点击按钮,你就会在DOM树中看到新加载的内容被动态地添加进来。</p><p>所以,当你遇到网页行为异常或显示不正确时,首先应该用开发者工具检查DOM树,看看页面在运行时的真实状态。如果DOM树显示的内容与预期不符,或者你怀疑是初始加载就有问题,这时才需要回溯到原始HTML源代码去查找原因。理解这两者的差异,是掌握现代前端调试技能的关键一步。</p><h3>HTML5引入的语义化标签如何提升网页结构与可访问性?</h3><p>在HTML5出现之前,我们构建网页结构时,常常过度依赖<code><div></code>和<code><span></code>这两个通用容器标签,然后通过<code>id</code>或<code>class</code>属性来区分它们的含义,比如<code><div id="header"></code>、<code><div class="navigation"></code>、<code><div class="content"></code>。这种做法虽然能实现布局,但对于机器来说,这些<code>div</code>本身并没有任何含义,它们只是一个无差别的盒子。这就导致了所谓的“div soup”(div汤),代码可读性差,更重要的是,它对搜索引擎和辅助技术(如屏幕阅读器)非常不友好。</p><p>HTML5的语义化标签正是为了解决这个问题而生。它们赋予了HTML元素更明确的含义,让开发者能够用更有意义的方式来描述网页的不同部分。这些标签包括:</p><ul><li><code><header></code>:通常用于定义文档或某个区域的介绍性内容或导航链接。</li><li><code><nav></code>:定义导航链接的部分,比如主菜单。</li><li><code><main></code>:定义文档的主要内容,每个页面通常只有一个。</li><li><code><article></code>:定义独立、自包含的内容,比如一篇博客文章、新闻报道。</li><li><code><section></code>:定义文档或应用中一个独立的节,通常会有一个标题。</li><li><code><aside></code>:定义与主内容相关但可独立存在的内容,比如侧边栏、广告或引文。</li><li><code><footer></code>:定义文档或某个区域的底部,通常包含版权信息、联系方式等。</li><li><code><figure></code> 和 <code><figcaption></code>:用于组合图片、图表、代码示例等媒体内容及其标题。</li></ul><p>这些语义化标签的引入,带来了多方面的好处:</p><p>首先是<strong>提升了代码的可读性和维护性</strong>。当你看一份代码时,一眼就能通过标签名知道这部分内容是头部、导航还是主要文章,而不需要去猜测<code>div</code>的<code>id</code>或<code>class</code>。这对于团队协作和长期项目维护来说,简直是福音。</p><p>其次,也是更重要的,是<strong>极大地改善了可访问性(Accessibility)</strong>。屏幕阅读器等辅助技术可以更好地理解网页的结构。例如,当屏幕阅读器遇到<code><nav></code>标签时,它就知道这是一组导航链接,可以向用户提供跳过导航的选项,而不是仅仅读出一堆无意义的链接。这对于视障人士等需要辅助技术的用户来说,提供了更流畅、更高效的浏览体验。</p><p>再者,<strong>对SEO也有积极影响</strong>。搜索引擎爬虫在抓取和索引网页内容时,能更好地理解页面不同部分的含义和重要性。例如,它知道<code><main></code>标签里的内容是页面的核心,<code><nav></code>里是导航链接。这种结构化的信息有助于搜索引擎更准确地理解页面主题,从而可能提升搜索排名。</p><p>最后,它也<strong>促使开发者养成更好的编码习惯</strong>。使用语义化标签是一种最佳实践,它鼓励我们思考内容的本质而非仅仅是外观,从而构建出更健壮、更符合标准、更具前瞻性的网页。从“div soup”到语义化HTML,不仅仅是语法上的变化,更是一种设计理念的进步。</p><p>到这里,我们也就讲完了《HTML文件怎么打开和查看》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于html,dom,可访问性,语义化标签,<head>的知识点!</p> </div> <div class="labsList"> <a href="javascript:;" title="html">html</a> <a href="javascript:;" title="dom">dom</a> <a href="javascript:;" title="可访问性">可访问性</a> <a href="javascript:;" title="语义化标签">语义化标签</a> <a href="javascript:;" title="<head>"><head></a> </div> <div class="cateBox"> <div class="cateItem"> <a href="/article/268371.html" title="HTML如何创建日期选择器?" class="img_box"> <img src="/uploads/20250729/17537871896888ab35aa267.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="HTML如何创建日期选择器?">HTML如何创建日期选择器? </a> <dl> <dt class="lineOverflow"><a href="/article/268371.html" title="HTML如何创建日期选择器?" class="aBlack">上一篇<i></i></a></dt> <dd class="lineTwoOverflow">HTML如何创建日期选择器?</dd> </dl> </div> <div class="cateItem"> <a href="/article/268373.html" title="Python中id的作用与对象识别解析" class="img_box"> <img src="/uploads/20250729/17537873666888abe60c85a.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="Python中id的作用与对象识别解析"> </a> <dl> <dt class="lineOverflow"><a href="/article/268373.html" class="aBlack" title="Python中id的作用与对象识别解析">下一篇<i></i></a></dt> <dd class="lineTwoOverflow">Python中id的作用与对象识别解析</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/310151.html" class="img_box" title="HTML开关按钮实现方法详解"> <img src="/uploads/20250909/175740876268bfedfa659ce.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>   |  4分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310151.html" class="aBlack" target="_blank" title="HTML开关按钮实现方法详解">HTML开关按钮实现方法详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>312浏览</span> <span class="collectBtn user_collection" data-id="310151" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310150.html" class="img_box" title="JavaScript数组实现堆栈操作非常简单,因为数组本身就提供了类似堆栈的方法。以下是常见的堆栈操作实现方式:✅1.入栈(Push)将元素添加到数组的末尾,相当于栈的“压入”操作。letstack=[1,2,3];stack.push(4);//[1,2,3,4]✅2.出栈(Pop)从数组的末尾移除一个元素,相当于栈的“弹出”操作。letstack=[1,2,3];lettop=stack.po"> <img src="/uploads/20250909/175740845968bfeccbc7a29.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="JavaScript数组实现堆栈操作非常简单,因为数组本身就提供了类似堆栈的方法。以下是常见的堆栈操作实现方式:✅1.入栈(Push)将元素添加到数组的末尾,相当于栈的“压入”操作。letstack=[1,2,3];stack.push(4);//[1,2,3,4]✅2.出栈(Pop)从数组的末尾移除一个元素,相当于栈的“弹出”操作。letstack=[1,2,3];lettop=stack.po"> </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>   |  9分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310150.html" class="aBlack" target="_blank" title="JavaScript数组实现堆栈操作非常简单,因为数组本身就提供了类似堆栈的方法。以下是常见的堆栈操作实现方式:✅1.入栈(Push)将元素添加到数组的末尾,相当于栈的“压入”操作。letstack=[1,2,3];stack.push(4);//[1,2,3,4]✅2.出栈(Pop)从数组的末尾移除一个元素,相当于栈的“弹出”操作。letstack=[1,2,3];lettop=stack.po">JavaScript数组实现堆栈操作非常简单,因为数组本身就提供了类似堆栈的方法。以下是常见的堆栈操作实现方式:✅1.入栈(Push)将元素添加到数组的末尾,相当于栈的“压入”操作。letstack=[1,2,3];stack.push(4);//[1,2,3,4]✅2.出栈(Pop)从数组的末尾移除一个元素,相当于栈的“弹出”操作。letstack=[1,2,3];lettop=stack.po</a> </dt> <dd class="cont2"> <span><i class="view"></i>443浏览</span> <span class="collectBtn user_collection" data-id="310150" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310136.html" class="img_box" title="FlaskSQLAlchemy查询无结果解决方法"> <img src="/uploads/20250909/175740665868bfe5c2ec14a.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="FlaskSQLAlchemy查询无结果解决方法"> </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>   |  39分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310136.html" class="aBlack" target="_blank" title="FlaskSQLAlchemy查询无结果解决方法">FlaskSQLAlchemy查询无结果解决方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>282浏览</span> <span class="collectBtn user_collection" data-id="310136" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310134.html" class="img_box" title="Alasql聚合函数参数错误解决方法"> <img src="/uploads/20250909/175740610468bfe398627aa.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="Alasql聚合函数参数错误解决方法"> </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>   |  48分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310134.html" class="aBlack" target="_blank" title="Alasql聚合函数参数错误解决方法">Alasql聚合函数参数错误解决方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>156浏览</span> <span class="collectBtn user_collection" data-id="310134" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310132.html" class="img_box" title="JS获取URL哈希值的几种方法"> <img src="/uploads/20250909/175740591968bfe2df7842e.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="JS获取URL哈希值的几种方法"> </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>   |  51分钟前  |   <a href="javascript:;" class="aLightGray" title="URL">URL</a> <a href="javascript:;" class="aLightGray" title="单页应用">单页应用</a> <a href="javascript:;" class="aLightGray" title="哈希值">哈希值</a> <a href="javascript:;" class="aLightGray" title="window.location.hash">window.location.hash</a> <a href="javascript:;" class="aLightGray" title="hashchange事件">hashchange事件</a> </span> </dd> <dt class="lineOverflow"> <a href="/article/310132.html" class="aBlack" target="_blank" title="JS获取URL哈希值的几种方法">JS获取URL哈希值的几种方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>176浏览</span> <span class="collectBtn user_collection" data-id="310132" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310130.html" class="img_box" title="JavaScript获取鼠标坐标方法详解"> <img src="/uploads/20250909/175740587468bfe2b2d061f.jpg" 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>   |  52分钟前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310130.html" class="aBlack" target="_blank" title="JavaScript获取鼠标坐标方法详解">JavaScript获取鼠标坐标方法详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>395浏览</span> <span class="collectBtn user_collection" data-id="310130" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310126.html" class="img_box" title="location对象的作用是什么?如何用它操作URL?"> <img src="/uploads/20250909/175740526368bfe04f198d1.png" onerror="this.src='/assets/images/moren/morentu.png'" alt="location对象的作用是什么?如何用它操作URL?"> </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/310126.html" class="aBlack" target="_blank" title="location对象的作用是什么?如何用它操作URL?">location对象的作用是什么?如何用它操作URL?</a> </dt> <dd class="cont2"> <span><i class="view"></i>123浏览</span> <span class="collectBtn user_collection" data-id="310126" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310102.html" class="img_box" title="JavaScript修改元素样式方法详解"> <img src="/uploads/20250909/175740298468bfd768d81c5.jpg" 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>   |  1小时前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310102.html" class="aBlack" target="_blank" title="JavaScript修改元素样式方法详解">JavaScript修改元素样式方法详解</a> </dt> <dd class="cont2"> <span><i class="view"></i>315浏览</span> <span class="collectBtn user_collection" data-id="310102" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310076.html" class="img_box" title="优化ReactWebpack配置,提升开发效率"> <img src="/uploads/20250909/175740089368bfcf3d6b8d0.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="优化ReactWebpack配置,提升开发效率"> </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小时前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310076.html" class="aBlack" target="_blank" title="优化ReactWebpack配置,提升开发效率">优化ReactWebpack配置,提升开发效率</a> </dt> <dd class="cont2"> <span><i class="view"></i>284浏览</span> <span class="collectBtn user_collection" data-id="310076" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310074.html" class="img_box" title="动态数字圆环高亮效果实现教程"> <img src="/uploads/20250909/175740070168bfce7de77c5.jpg" 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>   |  2小时前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310074.html" class="aBlack" target="_blank" title="动态数字圆环高亮效果实现教程">动态数字圆环高亮效果实现教程</a> </dt> <dd class="cont2"> <span><i class="view"></i>151浏览</span> <span class="collectBtn user_collection" data-id="310074" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310073.html" class="img_box" title="复选框控制内容显示隐藏方法"> <img src="/uploads/20250909/175740065368bfce4d9272d.jpg" 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>   |  2小时前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310073.html" class="aBlack" target="_blank" title="复选框控制内容显示隐藏方法">复选框控制内容显示隐藏方法</a> </dt> <dd class="cont2"> <span><i class="view"></i>265浏览</span> <span class="collectBtn user_collection" data-id="310073" data-type="article" title="收藏"><i class="collect"></i>收藏</span> </dd> </dl> </div> </li> <li> <div class="contBox"> <a href="/article/310072.html" class="img_box" title="在GitHub上安全更新JSON文件:理解CORS限制与API应用实践 "> <img src="/uploads/20250909/175740044768bfcd7f4796d.jpg" onerror="this.src='/assets/images/moren/morentu.png'" alt="在GitHub上安全更新JSON文件:理解CORS限制与API应用实践 "> </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小时前  |   </span> </dd> <dt class="lineOverflow"> <a href="/article/310072.html" class="aBlack" target="_blank" title="在GitHub上安全更新JSON文件:理解CORS限制与API应用实践 ">在GitHub上安全更新JSON文件:理解CORS限制与API应用实践 </a> </dt> <dd class="cont2"> <span><i class="view"></i>412浏览</span> <span class="collectBtn user_collection" data-id="310072" 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">543次学习</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">514次学习</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">499次学习</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/13073.html" target="_blank" title="SEO AI Mermaid 流程图:自然语言生成,文本驱动可视化创作" class="img_box"> <img src="/uploads/20250909/175739760268bfc262225d4.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="SEO AI Mermaid 流程图:自然语言生成,文本驱动可视化创作" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13073.html" class="aBlack" target="_blank" title="AI Mermaid流程图">AI Mermaid流程图</a></dt> <dd class="cont1 lineTwoOverflow"> SEO AI Mermaid 流程图工具:基于 Mermaid 语法,AI 辅助,自然语言生成流程图,提升可视化创作效率,适用于开发者、产品经理、教育工作者。 </dd> <dd class="cont2">15次使用</dd> </dl> </li> <li> <a href="/ai/13071.html" target="_blank" title="iTerms:一站式法律AI工作台,智能合同审查起草与法律问答专家" class="img_box"> <img src="/uploads/20250909/175738226468bf86788705c.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="iTerms:一站式法律AI工作台,智能合同审查起草与法律问答专家" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13071.html" class="aBlack" target="_blank" title="iTerms">iTerms</a></dt> <dd class="cont1 lineTwoOverflow"> iTerms是一款专业的一站式法律AI工作台,提供AI合同审查、AI合同起草及AI法律问答服务。通过智能问答、深度思考与联网检索,助您高效检索法律法规与司法判例,告别传统模板,实现合同一键起草与在线编辑,大幅提升法律事务处理效率。 </dd> <dd class="cont2">22次使用</dd> </dl> </li> <li> <a href="/ai/13069.html" target="_blank" title="迅捷AIPPT:AI智能PPT生成器,高效制作专业演示文稿" class="img_box"> <img src="/uploads/20250909/175739880268bfc71211053.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="迅捷AIPPT:AI智能PPT生成器,高效制作专业演示文稿" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13069.html" class="aBlack" target="_blank" title="迅捷AIPPT">迅捷AIPPT</a></dt> <dd class="cont1 lineTwoOverflow"> 迅捷AIPPT是一款高效AI智能PPT生成软件,一键智能生成精美演示文稿。内置海量专业模板、多样风格,支持自定义大纲,助您轻松制作高质量PPT,大幅节省时间。 </dd> <dd class="cont2">11次使用</dd> </dl> </li> <li> <a href="/ai/13066.html" target="_blank" title="酷宣AI:智能文章生成器,高颜值图文排版与多平台发布神器" class="img_box"> <img src="/uploads/20250909/175740120268bfd072de1ce.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/13066.html" class="aBlack" target="_blank" title="酷宣AI">酷宣AI</a></dt> <dd class="cont1 lineTwoOverflow"> 酷宣AI是一款专注于高颜值文章快速生成的智能工具。它能根据主题或文字智能排版,实现图文高清整合,并支持一键同步至微信公众号、导出PDF,大幅提升内容创作效率与美观度。 </dd> <dd class="cont2">9次使用</dd> </dl> </li> <li> <a href="/ai/13065.html" target="_blank" title="花瓣网:创意灵感与正版素材平台,助力设计师高效创作" class="img_box"> <img src="/uploads/20250909/175739640368bfbdb36fd0a.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="花瓣网:创意灵感与正版素材平台,助力设计师高效创作" style="object-fit:cover;width:100%;height:100%;"> </a> <dl> <dt class="lineTwoOverflow"><a href="/ai/13065.html" class="aBlack" target="_blank" title="花瓣网">花瓣网</a></dt> <dd class="cont1 lineTwoOverflow"> 花瓣网是中国领先的创意灵感与版权素材平台,提供海量正版素材、设计工具和灵感发现引擎,服务设计师、企业用户及创意从业者,助力高效创作。 </dd> <dd class="cont2">14次使用</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/268372.html"/> <input type="hidden" name="__token__" value="f8a4ab3a2aa173a34546da7304d84644" /> <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/268372.html"/> <input type="hidden" name="__token__" value="f8a4ab3a2aa173a34546da7304d84644" /> <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>