CSS 效率问题

发布于 2024-11-14 15:39:37 字数 1459 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

远昼 2024-11-21 15:39:38

根据我的测试,似乎使用尽可能小的图像页面渲染速度更快,并让 CSS 自己进行平铺。此过程发生的速度完全取决于浏览器。

至于半透明背景,使用 CSS 会减少带宽,但 CSS 不透明度仍然没有完全支持,所以在处理类似的问题时我会考虑到这一点。

我很好奇其他人的测试结果是什么......

Based on my testing, it seems the page renders faster using the smallest image possible, and let CSS do the tiling for itself. The speed at which this takes place is solely dependent on the browser.

As for translucent backgrounds, using CSS would be lighter on bandwidth, but CSS opacity still isn't fully supported, so I would take that into consideration when tackling something like that.

I'd be very curious to know what the results of other people's testing...

贩梦商人 2024-11-21 15:39:37

是的,这都是以操作系统和浏览器为中心的。

例如,在 Safari 中,使用 CSS 转换来对元素进行动画处理比使用 JS 更有效。

一般来说:

  • 您希望避免平铺非常小的图像。 20 像素的图像比 1 像素的图像平铺效果更好,因为浏览器重新绘制整个屏幕的工作要少得多。不过,20px 和 100px 之间可能差别不大。
  • 任何可以用 CSS 完成的事情都可能比加载另一个图像更有效。 (例如圆角、阴影等)
  • 需要注意的是 IE 的 css 过滤器。其中很多效率不高,您最好恢复到图像。

Yes, this is all OS and browser centric.

For instance, in Safari, it's more efficient to use CSS transformations to animate elements than JS.

In general:

  • you want to avoid tiling very small images. A 20px image will tile better than a 1px as the browser is doing a lot less work to repaint the entire screen. Likely not much of a difference between 20px and 100px, though.
  • anything that can be done with CSS will likely be more efficient than loading another image. (such as rounded corners, drop shadows, etc.)
  • a big caveat is IE's css filters. A lot of those are not efficient and you may be better off reverting to images.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文