我应该在网站上使用类似精灵的缩略图技术吗?

2024-02-28

在我正在创建的网站上,我有大约 100 个不同的缩略图 (64x64),它们在不同的时间显示。在某些页面上,可能仅显示 5-15 个缩略图。在其他情况下,所有 100 个都已加载。

我正在考虑使用 CSS sprites 等技术来显示图像。也就是说,不要为每个拇指添加图像标签,而是执行以下操作:

<span class=thumb1"></span>

然后使用 CSS 截取一张图像的切片,并将所有拇指缝合在一起。也就是说,一张图像包含所有 100 个拇指(在本例中为 640x640 图像)。

我的问题:

  • 这是一个好主意吗?
  • 如果是, 我应该在所有页面上这样做吗 图像出现,或仅出现在页面上 与所有图像?
  • 有没有 除了精灵之外的另一种技术 这可能比简单地更好 包括带有 img 标签的图像?

如果您认为普通用户会使用这些缩略图访问至少两个不同的页面,那么我的观点是使用精灵会确实是个好主意!

事实上,我会用所有缩略图制作一个大图像,然后在所有页面中使用它!

Why?

  • http 请求更少(从 100 减少到 1)!这是关于网站优化最重要的事情之一(请阅读此处雅虎性能团队速度优化规则 http://developer.yahoo.com/performance/rules.html )
  • 这样,用户将仅在第一次下载整个图像,然后他们将在所有后续页面中快速加载该图像
  • 互联网上最著名的网站已经这样做了!查看精灵中使用的Yahoo http://l.yimg.com/a/i/ca/sp/purple/fp_spt_icons_0.0.2.png, Amazon http://www.flickr.com/photos/mezzoblue/3217540317/ or Youtube http://s.ytimg.com/yt/img/master-vfl140994.png pages.
  • 您可以将其他 UI 或布局图像添加到您的精灵中

优化生成的 PNG:

生成精灵后,如果是 PNG,您可以使用此工具进一步优化 PNG:http://www.sitepoint.com/blogs/2009/09/18/squishing-the-last-drops-from-your-pngs/ http://www.sitepoint.com/blogs/2009/09/18/squishing-the-last-drops-from-your-pngs/

何时不使用精灵:

  • 当精灵中的部分图像频繁变化时
  • 在这种特定情况下:当大多数用户需要少于(大约)10% 的图像时
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该在网站上使用类似精灵的缩略图技术吗? 的相关文章

  • 输入文本中固定下划线

    我试图修复所有输入文本类型中的下划线 但没有成功 Example My code input width 100 background color fcfcfc border 0 padding 10px div class col lg
  • FireFox:使用画布对象的图像 base64 数据不起作用

    这是我编写的用于调整图像宽高比大小的代码 它可以在 chrome 上运行 但不能在 firefox 上显示 有人知道出了什么问题吗 var image new Image image src data image load function
  • 单击时更改 CSS 属性

    我试图在单击另一个元素时更改一个元素的 CSS 我进行了很多搜索 但没有任何效果是完美的 目前我正在使用下面的代码 但它不起作用 谁能告诉我我错过了什么 div hello world div img src zoom png functi
  • Canvas GetImageData() / PutImageData() 在移动设备上的性能很糟糕

    我正在做一个小型 HTML5 游戏 在地图开头加载精灵时 我使用 GetImageData 循环遍历所有图像 PutImageData 进行一些处理 这在我的电脑上运行得非常好 但是在我的手机上却慢得可怕 PC 5 6 ms iPhone
  • JQuery:如何仅在完成调整大小后调用 RESIZE 事件?

    浏览器窗口大小调整完毕后 如何调用函数 我正在尝试这样做 但遇到了问题 我正在使用 JQuery Resize 事件函数 window resize function how to call only once the browser ha
  • CSS 安全区域属性在 iPhone X 上不起作用

    就我而言 我正在 iPhone X 上运行一个 Web 应用程序 我尝试在顶部添加一个填充 以使用 Webkit 的安全区域 css 属性将我的身体推到安全区域padding top constant safe area inset top
  • 禁用单一样式的 CSS 转换?

    为单个样式启用 CSS 过渡非常容易 但是是否可以为单个样式禁用它们 单一样式过渡的常用方法是 div transition opacity 0 5s 但我想做的是设置一个全局转换 然后为单个属性禁用它 也许是这样的 div transit
  • css3动画硬闪烁(帧之间没有淡入淡出)

    尝试使用 css3 动画连续闪烁三个元素 我已经让它运行了 但是每一帧都有一个淡入淡出 我想将其删除 理想情况下 每个元素保持可见 1 秒 然后立即隐藏 我尝试将动画设置为帧0 and 99 for opacity 1 and 100 fo
  • 更改链接悬停时的正文背景颜色

    当鼠标悬停在页面上时如何更改页面背景a 我正在寻找仅 css 的解决方案 我知道你可以通过 css 到达子元素 但我不知道如何 是否可以到达主体 看看这个DEMO http jsfiddle net bhavuksuthar bjsvhze
  • 如何在光标下的所有元素上调用 mouseover?

    我有一个网络应用程序 每次单击时都会创建一个点 见下文 当我将鼠标悬停在一堆点上时 我希望光标下的每个点都会触发 mouseover 或 mouseenter 事件 然而 只有一个事件被触发 即堆栈 顶部 的点的事件 当鼠标移动到一堆多个点
  • HTML 覆盖高度覆盖整个可见页面

    我有一个使用 AJAX 加载一些内容的网页 我想在加载过程中显示带有加载指示器的覆盖层 以便用户无法与页面的大部分内容交互 除了顶部的菜单 我正在使用 jQuery 和jQuery BlockUI 插件 http malsup com jq
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • Firefox:如何测试首选颜色方案?

    在 Firefox 67 中 可以使用媒体查询来检测用户对浅色或深色主题的偏好 https davidwalsh name demo prefers color scheme php 在我的 Firefox 版本 在 Ubuntu 下 中
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • 如何在粘贴时获取文本区域输入字段的新值?

    我发现当我尝试从文本区域字段读取值时onpaste调用函数时 我得到字段的旧值 粘贴操作之前的值 而不是新值 粘贴操作之后的值 以下是此行为的演示 http jsfiddle net qsDnr http jsfiddle net qsDn
  • iOS 5 中的 webkit-overflow-scrolling: touch "handle" 是否有外观 CSS 规则?

    我有一个元素恰好同时具有 webkit overflow scrolling touch 和 background color black 因此显示滚动位置的 手柄 很难看到 是否有 webkit CSS 样式规则可以改变该 手柄 的外观
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne

随机推荐