登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  前端

HTML5用图片替代文本的方法及技巧

时间:2026-03-28 14:35:31 332浏览 收藏

本文深入解析HTML5中图片替代文本(alt属性)的正确使用规范,强调alt属性不可省略、空字符串alt=""仅适用于纯装饰性图片,而信息性图片必须提供简洁准确、语义明确的替代文本;特别指出图片作为链接时alt应描述目的而非外观,SVG图标需根据语义决定是否使用aria-label而非alt,并澄清longdesc已废弃、复杂图片应结合aria-describedby提供结构化长描述;同时警示将文字嵌入图片却忽略alt的常见错误,呼吁开发者以可访问性为前提,优先采用HTML+CSS实现文本内容,确保所有用户——尤其是视障人士——能平等获取信息。

HTML5怎样添加图片替代文本_HTML5添加替代文本操作【说明】

img 标签必须用 alt 属性写替代文本

HTML5 不允许省略 alt 属性,否则会触发可访问性警告,屏幕阅读器也无法读出图片含义。空字符串 alt="" 是合法的,但仅适用于纯装饰性图片;只要图片承载信息(哪怕只是图标、按钮、数据图),就必须写有意义的文本。

  • alt 值应简洁准确,通常不超过 125 个字符(多数屏幕阅读器会截断)
  • 避免冗余表述,如“图片:”“图标:”,屏幕阅读器已自动播报这是图片
  • 如果图片是链接,alt 应说明链接目的,而非描述图片本身(例如:联系客服)

什么时候该用 alt="" 而不是删掉属性

装饰性图片(比如背景分隔线、纯样式圆点、重复边框图)不该向辅助技术暴露。此时必须显式写 alt="",而不是省略 alt——省略会导致浏览器/校验工具报错,且部分旧屏幕阅读器可能误读文件名或尝试朗读。

  • CSS 背景图不需要 alt,因为它本就不在 HTML 结构中
  • 内联 SVG 若含语义内容(如流程图中的文字、标签),应使用 </code> 和 <code>aria-label</code>,而非 <code>alt</code></li> <li>服务器端生成的占位图(如 <code>placeholder.svg</code>)若无信息量,也应配 <code>alt=""</code></li> </ul><h3>复杂图片要用 <code>longdesc</code> 或内联描述</h3> <p><code>longdesc</code> 属性已废弃,HTML5 不再支持。对信息密集型图片(如信息图、带多区域标注的示意图、数学图表),正确做法是:</p> <ul><li>用 <code>alt</code> 写一句话摘要(例如:“2023 年各季度用户增长趋势折线图”)</li> <li>紧接 <code><img></code> 后用 <code><details></code> 或普通段落提供详细说明,再通过 <code>aria-describedby</code> 关联</li> <li>或把长描述放在同一页面的其他位置,用 ID 引用(<code>aria-describedby="desc-id"</code>)</li> </ul><pre class="brush:php;toolbar:false"><img src="chart.png" alt="2023 年各季度用户增长趋势折线图" aria-describedby="chart-desc"> <p id="chart-desc">Q1 新增 12.4 万,Q2 环比上升 8.2%,Q3 因暑期活动达峰值 21.7 万,Q4 略回落至 19.3 万。</p></pre> <h3>别把文字塞进图片再忽略 <code>alt</code></h3> <p>常见错误是把标题、说明、数据直接做成 PNG/JPEG(比如“首页 Banner:限时 5 折”),然后给它配 <code>alt=""</code> 或模糊描述。这既损害 SEO,又让视力障碍用户完全丢失关键信息。</p> <ul><li>优先用 HTML + CSS 实现文字层,图片只负责视觉底图</li> <li>若必须用图文合成图,<code>alt</code> 必须完整复述所有可读文字(包括价格、时间、行动号召)</li> <li>涉及验证码、徽章、签名等特殊场景,需额外提供文本替代方案(如提供纯文本链接、隐藏 <code><span></code>、或后端返回结构化数据)</li> </ul> 实际开发中最容易被跳过的,是「图片作为链接时 <code>alt</code> 的语义转换」和「SVG 图标是否需要 <code>alt</code>」——这两处不报错,但一上线就影响真实用户的操作路径。<p>文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《HTML5用图片替代文本的方法及技巧》文章吧,也可关注golang学习网公众号了解相关技术文章。</p> </div> <div class="labsList"> </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="提升">提升</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="Function构造函数">Function构造函数</a> </div> <div class="tit lineOverflow"><a href="/article/207000.html" title="JavaScript函数定义及示例详解" class="aBlack">JavaScript函数定义及示例详解</a></div> <div class="opt"> <span><i class="view"></i>502</span> <span class="collectBtn user_collection" data-id="207000" 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> </div> <div class="tit lineOverflow"><a href="/article/621422.html" title="智能体安全引领产业升级——国内AI安全产品市场深度分析" class="aBlack">智能体安全引领产业升级——国内AI安全产品市场深度分析</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="621422" 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>   |  4个月前  |   </div> <div class="tit lineOverflow"><a href="/article/619053.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="619053" 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>   |  4个月前  |   </div> <div class="tit lineOverflow"><a href="/article/618916.html" title="JavaScript符号类型详解与应用" class="aBlack">JavaScript符号类型详解与应用</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="618916" 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>   |  4个月前  |   </div> <div class="tit lineOverflow"><a href="/article/612539.html" title="HTML剪贴板复制粘贴怎么用" class="aBlack">HTML剪贴板复制粘贴怎么用</a></div> <div class="opt"> <span><i class="view"></i>501</span> <span class="collectBtn user_collection" data-id="612539" 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>   |  4小时前  |   </div> <div class="tit lineOverflow"><a href="/article/630144.html" title="前端状态更新频繁时,批处理与去抖分别解决什么" class="aBlack">前端状态更新频繁时,批处理与去抖分别解决什么</a></div> <div class="opt"> <span><i class="view"></i>227</span> <span class="collectBtn user_collection" data-id="630144" 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>   |  6小时前  |   <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> · <a href="/articletag/40050_new_0_1.html" class="aLightGray" title="可访问性">可访问性</a> · <a href="javascript:;" class="aLightGray" title="焦点陷阱">焦点陷阱</a> <a href="javascript:;" class="aLightGray" title="HTML dialog">HTML dialog</a> <a href="javascript:;" class="aLightGray" title="焦点恢复">焦点恢复</a> <a href="javascript:;" class="aLightGray" title="inert">inert</a> <a href="javascript:;" class="aLightGray" title="无障碍弹窗">无障碍弹窗</a> </div> <div class="tit lineOverflow"><a href="/article/630120.html" title="可访问弹窗的焦点陷阱、关闭恢复与背景隔离" class="aBlack">可访问弹窗的焦点陷阱、关闭恢复与背景隔离</a></div> <div class="opt"> <span><i class="view"></i>309</span> <span class="collectBtn user_collection" data-id="630120" 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>   |  8小时前  |   <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> · <a href="/articletag/729_new_0_1.html" class="aLightGray" title="性能优化">性能优化</a> · <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> · <a href="javascript:;" class="aLightGray" title="ArrayBuffer">ArrayBuffer</a> <a href="javascript:;" class="aLightGray" title="postMessage">postMessage</a> <a href="javascript:;" class="aLightGray" title="前端性能">前端性能</a> <a href="javascript:;" class="aLightGray" title="Web Worker">Web Worker</a> <a href="javascript:;" class="aLightGray" title="Transferable">Transferable</a> <a href="javascript:;" class="aLightGray" title="structured clone">structured clone</a> </div> <div class="tit lineOverflow"><a href="/article/630096.html" title="Web Worker 传大数据为何卡顿:复制与 Transferable 对比" class="aBlack">Web Worker 传大数据为何卡顿:复制与 Transferable 对比</a></div> <div class="opt"> <span><i class="view"></i>220</span> <span class="collectBtn user_collection" data-id="630096" 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>   |  10小时前  |   <a href="javascript:;" class="aLightGray" title="请求超时">请求超时</a> <a href="javascript:;" class="aLightGray" title="Fetch">Fetch</a> <a href="javascript:;" class="aLightGray" title="AbortController">AbortController</a> <a href="javascript:;" class="aLightGray" title="AbortSignal">AbortSignal</a> <a href="javascript:;" class="aLightGray" title="用户取消">用户取消</a> <a href="javascript:;" class="aLightGray" title="前端异常处理">前端异常处理</a> </div> <div class="tit lineOverflow"><a href="/article/630072.html" title="Fetch 请求取消后,超时与用户中断要怎样区分" class="aBlack">Fetch 请求取消后,超时与用户中断要怎样区分</a></div> <div class="opt"> <span><i class="view"></i>466</span> <span class="collectBtn user_collection" data-id="630072" 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>   |  12小时前  |   <a href="/articletag/616_new_0_1.html" class="aLightGray" title="文件上传">文件上传</a> · <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> · <a href="/articletag/5401_new_0_1.html" class="aLightGray" title="前端开发">前端开发</a> · <a href="javascript:;" class="aLightGray" title="大文件上传">大文件上传</a> <a href="javascript:;" class="aLightGray" title="断点续传">断点续传</a> <a href="javascript:;" class="aLightGray" title="XMLHttpRequest">XMLHttpRequest</a> <a href="javascript:;" class="aLightGray" title="Blob.slice">Blob.slice</a> <a href="javascript:;" class="aLightGray" title="前端分片上传">前端分片上传</a> <a href="javascript:;" class="aLightGray" title="暂停上传">暂停上传</a> </div> <div class="tit lineOverflow"><a href="/article/630048.html" title="前端上传大文件:分片、暂停与失败续传怎样协作" class="aBlack">前端上传大文件:分片、暂停与失败续传怎样协作</a></div> <div class="opt"> <span><i class="view"></i>371</span> <span class="collectBtn user_collection" data-id="630048" 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>   |  14小时前  |   <a href="javascript:;" class="aLightGray" title="列表详情">列表详情</a> <a href="javascript:;" class="aLightGray" title="View Transition API">View Transition API</a> <a href="javascript:;" class="aLightGray" title="前端渐进增强">前端渐进增强</a> </div> <div class="tit lineOverflow"><a href="/article/630024.html" title="View Transition API 做列表到详情过渡的渐进增强" class="aBlack">View Transition API 做列表到详情过渡的渐进增强</a></div> <div class="opt"> <span><i class="view"></i>385</span> <span class="collectBtn user_collection" data-id="630024" 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>   |  17小时前  |   </div> <div class="tit lineOverflow"><a href="/article/629998.html" title="用 CSS Container Query 让卡片按容器而不是视口响应" class="aBlack">用 CSS Container Query 让卡片按容器而不是视口响应</a></div> <div class="opt"> <span><i class="view"></i>289</span> <span class="collectBtn user_collection" data-id="629998" 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>   |  19小时前  |   <a href="javascript:;" class="aLightGray" title="环境变量">环境变量</a> <a href="javascript:;" class="aLightGray" title="vite">vite</a> <a href="javascript:;" class="aLightGray" title="loadEnv">loadEnv</a> <a href="javascript:;" class="aLightGray" title="vite.config">vite.config</a> </div> <div class="tit lineOverflow"><a href="/article/629976.html" title="Vite 环境变量为什么在配置加载时取不到" class="aBlack">Vite 环境变量为什么在配置加载时取不到</a></div> <div class="opt"> <span><i class="view"></i>133</span> <span class="collectBtn user_collection" data-id="629976" 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>   |  20小时前  |   </div> <div class="tit lineOverflow"><a href="/article/629964.html" title="React useOptimistic 怎么在请求失败时回滚列表" class="aBlack">React useOptimistic 怎么在请求失败时回滚列表</a></div> <div class="opt"> <span><i class="view"></i>153</span> <span class="collectBtn user_collection" data-id="629964" 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>   |  22小时前  |   <a href="/articletag/5401_new_0_1.html" class="aLightGray" title="前端开发">前端开发</a> · <a href="javascript:;" class="aLightGray" title="前端路由">前端路由</a> <a href="javascript:;" class="aLightGray" title="hostname">hostname</a> <a href="javascript:;" class="aLightGray" title="URLPattern">URLPattern</a> <a href="javascript:;" class="aLightGray" title="pathname">pathname</a> </div> <div class="tit lineOverflow"><a href="/article/629940.html" title="URLPattern 怎么同时匹配域名和路径参数" class="aBlack">URLPattern 怎么同时匹配域名和路径参数</a></div> <div class="opt"> <span><i class="view"></i>108</span> <span class="collectBtn user_collection" data-id="629940" 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="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> · <a href="javascript:;" class="aLightGray" title="JavaScript">JavaScript</a> <a href="javascript:;" class="aLightGray" title="Intl.DurationFormat">Intl.DurationFormat</a> <a href="javascript:;" class="aLightGray" title="前端国际化">前端国际化</a> <a href="javascript:;" class="aLightGray" title="持续时间格式化">持续时间格式化</a> </div> <div class="tit lineOverflow"><a href="/article/629916.html" title="Intl.DurationFormat 怎么本地化显示持续时间" class="aBlack">Intl.DurationFormat 怎么本地化显示持续时间</a></div> <div class="opt"> <span><i class="view"></i>141</span> <span class="collectBtn user_collection" data-id="629916" 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="/articletag/5401_new_0_1.html" class="aLightGray" title="前端开发">前端开发</a> · <a href="/articletag/40054_new_0_1.html" class="aLightGray" title="浏览器API">浏览器API</a> · <a href="javascript:;" class="aLightGray" title="postMessage">postMessage</a> <a href="javascript:;" class="aLightGray" title="MessageChannel">MessageChannel</a> <a href="javascript:;" class="aLightGray" title="Web Worker">Web Worker</a> <a href="javascript:;" class="aLightGray" title="MessagePort">MessagePort</a> </div> <div class="tit lineOverflow"><a href="/article/629893.html" title="postMessage 转移 MessagePort 后原端口还能用吗" class="aBlack">postMessage 转移 MessagePort 后原端口还能用吗</a></div> <div class="opt"> <span><i class="view"></i>477</span> <span class="collectBtn user_collection" data-id="629893" 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>543次学习</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>516次学习</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>500次学习</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>485次学习</span> </dd> </dl> </li> </ul> </div> </div> <!-- footer --> <div class="footer"> <ul> <li ><a href="/" class="aLightGray"><em class="navIcon navIconHome"></em><span>首页</span></a></li> <li class="curr"><a href="/articlelist.html" class="aLightGray"><em class="navIcon navIconRead"></em><span>阅读</span></a></li> <li ><a href="/courselist.html" class="aLightGray"><em class="navIcon navIconCourse"></em><span>课程</span></a></li> <li ><a href="/ai.html" class="aLightGray"><em class="navIcon navIconAi"></em><span>AI助手</span></a></li> <li ><a href="/user.html" class="aLightGray"><em class="navIcon navIconUser"></em><span>我的</span></a></li> </ul> </div> <script src="/assets/js/frontend/common.js" defer></script> <script src="/assets/js/juejin-theme.js?v=20260613b" defer></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?e34c3e8ab31ba35d7e1c48ea8d77315f"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>