Tôi đang xây dựng trang web đang sử dụng plugin cuộn về cơ bản sẽ làm động việc cuộn. Tôi khá lo lắng về hiệu suất như thể tôi chèn một số hình ảnh vào trang web, có vẻ khá thay đổi khi cuộn/hoạt hình.<img /> so với hình nền (css) trong hiệu suất
Vấn đề chính tôi có thể phát hiện bằng hình ảnh là vấn đề reflow/repaint, khi hình ảnh không có kích thước chính xác và do đó được chia tỷ lệ (tôi phải giải quyết vấn đề này, tôi biết về số best practice).
Với lưu ý này (hình ảnh sẽ được thu nhỏ). Điều gì sẽ tốt hơn, yếu tố hình ảnh hoặc divs với những hình ảnh làm nền cho hiệu suất?
Tôi đã thực hiện jsFiddles này trong công cụ bộ nhớ trình duyệt chrome của tôi, cho thấy tùy chọn hình ảnh nền mặt đất sử dụng ít bộ nhớ hơn.
<img />
: http://jsfiddle.net/ek6Xn/
<img src="..." />
background-image
: http://jsfiddle.net/ek6Xn/1/
<div></div>
div {
background:url(...);
background-size:100% 100%;
}
Tài liệu tham khảo:
- Difference in performance between img tag elements vs divs with background images?
- When to use IMG vs. CSS background-image?
- http://www.html5rocks.com/en/tutorials/speed/unnecessary-paints/
- http://updates.html5rocks.com/2013/02/Profiling-Long-Paint-Times-with-DevTools-Continuous-Painting-Mode
Ngoài ra, công cụ tìm kiếm và hệ thống nhúng truyền thông xã hội không thích hình nền css. –
Bạn có thể giải thích lý do tại sao? – Alvaro
Họ chỉ đơn giản là không lưu trữ chúng hoặc, trong trường hợp nhúng facebook, nó không được coi là hình ảnh ngón tay cái trong khi chia sẻ. –