【问题标题】:How to optimize seamless image grid? CSS or Jquery? Image optimization? [closed]如何优化无缝图像网格? CSS 还是 Jquery?图像优化? [关闭]
【发布时间】:2015-07-01 22:38:48
【问题描述】:

我只是一个简单的 UX 设计师,正在加强他的代码技能,所以请原谅我的无知和蹩脚的代码。

我正在重新启动我的投资组合网站。最初的无缝网格是使用类似 JQuery 插件的 Masonry 构建的。虽然它非常缓慢。 http://jack-a-lope.net/Illustration.html

我决定使用 Masonry 重建它,但担心性能可能仍然很差,所以我找到了一个全 CSS 解决方案,我希望加载速度更快。 https://css-tricks.com/seamless-responsive-photo-grid/

我在另一个网站上寻求帮助,并被告知问题不是插件速度慢,而是我预加载了 3mb 的图像。我已经调整了所有图像的大小,并尽我所能对它们进行了优化,减少了相当大的内存块,但它仍然加载缓慢。我究竟做错了什么?为什么较大的网站可以加载这么多图像,但这段代码却令人窒息?我还需要做其他事情来优化它吗?只是在页面上粘贴一个加载屏幕还是什么?

[编辑:]所有图像都已压缩和优化。图像实际上加载得很快,问题是我得到了一个 FOUC,而 JS 需要时间来重新格式化图像等。

【问题讨论】:

  • 更大的网站通过仅加载他们需要使用 ajax 进行延迟加载的图像来解决此问题。 (这就是为什么当您到达某些页面上的某个部分时,它会给您一个加载指示器)没有向我们展示您实际在做什么,您的问题非常广泛。
  • 根据谷歌页面洞察(我强烈推荐大家使用,developers.google.com/speed/pagespeed/insights/…)你的图片已经过优化。为了不损失图片质量,您需要使用延迟加载、Seth 建议的 ajax 或整个页面上的加载器。那些拥有大量图片的网站的图片分辨率要低得多。此外,您提供的 cat 示例需要很长时间才能运行,该页面顶部的图片是单张图片,底部是实际示例。
  • 是的,我尝试了底部的实际示例,它似乎加载速度更快。 CSS通常比JS快吗?我一直有这样的印象。 @SethMcClaine 所以我想处理这个问题的唯一方法是加载,嗯......该死。我希望我可以优化它而不需要这样做。我基本上只是在页面上加载图像,并应用了一个名为“gridify”的彩盒灯箱和 jquery 插件。没有延迟加载等。
  • 使用 Chrome,右键单击您的页面并转到检查元素,然后转到网络选项卡并单击复选框以禁用缓存。从这里您可以看到每个元素需要多长时间。 Gridify 耗时 159 毫秒,速度很快。 CSS 解决方案不会切实提高速度。问题在于图片的分辨率,为了保持相同的质量,您需要实施上述解决方案,它们只是传输的数据过多。
  • 一种解决方法是添加一个占据页面第一个“滚动”的大横幅。横幅将立即加载,并且您的所有图像(位于页面下方)可以在他们查看您的精美横幅时加载。

标签: javascript jquery html css optimization


【解决方案1】:

您正在预加载 3MB 的图片,因为这是图片重量的总和,这不是问题,这是正常行为。

使用Image Compression Tool 可以看到一些改进,但是如果您认为页面会增加图片数量,您应该考虑无限滚动的延迟加载,我使用了this jQuery plugin,并且与静态页面。

编辑:

如果您不打算有很多图像,那么您可以使用延迟加载并在加载后淡入图像。我最喜欢的两个 jquery 插件是:

【讨论】:

  • 已经压缩了。我曾考虑过使用无限滚动,但我认为我没有那么多图像。对我来说,问题似乎是图像的重新定向,而不是最初加载它们。
  • @DavidA.French,你可能想用延迟加载来代替?检查我的编辑
  • 太好了,谢谢,我想我会试试 Unveil。我和其他人在网上查了一下,似乎唯一的解决方案是使用某种惰性加载器。
【解决方案2】:

要优化图像,最好的办法是使用 Photoshop“保存为网络”选项。但是,是的,除了图片大小非常重要之外,还有很多因素会影响网站加载速度。

你应该:

  • 在不影响画质的情况下尽量缩小图片尺寸
  • 使用良好的主机
  • 最小化和合并 CSS 和 JS 文件
  • 尽量减少请求
  • 利用缓存
  • 使用 CDN

【讨论】:

  • 已经在做大部分这些事情了。我现在也在研究 CDN 的东西。图像已经优化,问题是我调用图像的方式。
猜你喜欢
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 2011-11-08
  • 1970-01-01
相关资源
最近更新 更多