STATUS IS UPWIKI TỐI ƯU HÓA WEBSITE
18Tăng tốc
Hiệu năng và phân phối / Tăng tốc

Hình ảnh đáp ứng với srcset và sizes

Giúp trình duyệt chọn một hình ảnh phù hợp với khung bố cục thực tế thay vì gửi một ảnh gốc quá lớn tới mọi khách truy cập.

Hình ảnh đáp ứng với srcset và sizes — HƯỚNG DẪN TRỰC QUAN
ĐỌC
8 phút
NGUỒN
6
TÁI XÁC NHẬN
2027-03-27
đã rà soát
Người đánh giá hiệu suất web và khả năng truy cập
CÂU TRẢ LỜI NGẮN GỌN

Bắt đầu từ quyết định.

Sử dụng srcset và sizes khi cùng một ảnh xuất hiện với nhiều chiều rộng hiển thị khác nhau trong bố cục đáp ứng. srcset liệt kê các ứng viên ảnh và chiều rộng nội tại của chúng; sizes mô tả chiều rộng mong đợi của khung ảnh ở mỗi điều kiện bố cục. Trình duyệt dùng ước tính kích thước nguồn đó cùng với độ phân giải hiển thị, thu phóng và các điều kiện khác để chọn một ứng viên. Một thẻ nhỏ trên di động vì vậy có thể tránh tải ảnh gốc cho desktop; trong khi màn hình lớn hoặc độ mật độ cao có thể chọn ứng viên sắc nét hơn nếu có.

Bắt đầu từ bố cục CSS của thành phần, không phải danh sách thiết bị chung chung. Đo kích thước khung tại mỗi điểm ngắt, tạo các ứng viên trung thực và làm cho sizes phản ánh khung đó. Chỉ dùng miêu tả mật độ (x) cho khung CSS cố định. Dùng picture khi màn hình nhỏ cần một cắt (crop) khác, thay vì chỉ một tệp nhỏ hơn. Xác minh yêu cầu thực tế bằng cách tải lại với cache trống. Tối ưu hóa phân phối chủ động này giảm việc chuyển ảnh không cần thiết trước khi phát hành, nhưng không đảm bảo tốc độ, khả dụng hay độ tin cậy của host ảnh.

HƯỚNG DẪN TRỰC QUAN

Nhìn công việc như một hệ thống.

Dùng sơ đồ này để nối các quyết định trong bài trước khi hành động theo từng thủ thuật.

SIUTăng tốc
01Chọn mẫu chính xác
02Hiểu cách sizes hướng tới việc chọn ảnh
03Lấy ứng viên từ bố cục thực tế
04Dùng picture cho art direction (định hướng bố cục)
01

Chọn mẫu chính xác

Resolution switching (chuyển đổi phân giải) giữ nguyên bố cục hình ảnh và cung cấp nhiều kích thước tệp. Đây là mẫu thông thường cho ảnh sản phẩm, hình minh họa bài báo và thẻ. Dùng miêu tả theo chiều rộng như 480w hoặc 1200w khi chiều rộng hiển thị thay đổi theo bố cục. Con số là chiều rộng thực tế của tệp tính bằng pixel, không phải mục tiêu điện thoại hay lệnh CSS.

Density switching (chuyển đổi mật độ) phục vụ một khung CSS cố định với nhiều pixel nguồn hơn cho màn hình mật độ cao. Các miêu tả là 1x, 1.5x, hoặc 2x, và phù hợp cho logo hoặc biểu tượng có kích thước CSS ổn định, ví dụ 160 CSS pixel rộng. Không kết hợp miêu tả theo chiều rộng và theo mật độ trong cùng một srcset.

Khung linh hoạt

Dùng miêu tả w với sizes khi một thành phần mở rộng hoặc co lại.

Khung cố định

Dùng miêu tả x không kèm sizes chỉ khi kích thước CSS hiển thị là ổn định.

02

Hiểu cách sizes hướng tới việc chọn ảnh

Với miêu tả theo chiều rộng, trình duyệt đánh giá sizes trước khi tải một ảnh. Mỗi mục ghép một điều kiện media tùy chọn với một độ dài (length). Điều kiện khớp đầu tiên cung cấp kích thước nguồn; độ dài cuối cùng không có điều kiện là phương án dự phòng. sizes là gợi ý để chọn, không phải quy tắc CSS.

Trình duyệt so sánh kích thước nguồn đó với các chiều rộng ứng viên để tính mật độ hiệu dụng, rồi có thể cân nhắc thêm mật độ hiển thị, thu phóng và điều kiện mạng. Trình duyệt không bắt buộc phải chọn tên tệp gần với toán học nhất. Cung cấp các ứng viên trung thực và một ước tính khung đáng tin cậy; việc chọn cuối cùng vẫn là quyết định của user agent.

Thứ tự quan trọng

Điều kiện media khớp đầu tiên thắng, nên viết danh sách theo thứ tự làm cho khớp đầu tiên đó đúng.

Tránh blanket 100vw

Một thẻ desktop chiếm một phần ba cột nhưng mô tả là bằng chiều rộng viewport có thể kích hoạt một ứng viên lớn không cần thiết.

03

Lấy ứng viên từ bố cục thực tế

Kiểm kê theo thành phần, không phải theo trang. Một hero, hình minh họa bài viết, gallery sản phẩm, thumbnail tìm kiếm và logo chân trang thường có các chiều rộng khung khác nhau. Với mỗi thành phần, ghi lại chiều rộng hiển thị nhỏ nhất và lớn nhất, tỉ lệ khung (aspect ratio), hành vi cắt, và khả năng xuất hiện trên màn hình ban đầu.

Sinh các độ rộng quanh khoảng ý nghĩa của khung thành phần, với một tùy chọn lớn hơn khi chi tiết cần biện minh cho hiển thị mật độ cao. Các tệp gần như giống hệt làm tăng độ phức tạp build và cache; chỉ tệp quá nhỏ và quá lớn mới buộc phải thỏa hiệp. Thử URL được sinh ra thay vì cho rằng các chuyển đổi ảnh hoạt động.

Giữ một src dự phòng hợp lệ và các giá trị width và height khớp với tỉ lệ được giao. Chúng dành chỗ nhưng không ngăn CSS đáp ứng thay đổi kích thước cuối cùng.

Miêu tả trung thực

Một ứng viên được khai báo là 800w phải thực sự có chiều rộng 800 pixel.

Hợp đồng thành phần

Duy trì khung và kế hoạch ứng viên cùng với thay đổi mẫu và thiết kế.

04

Dùng picture cho art direction (định hướng bố cục)

Art direction thay đổi bố cục ảnh, không chỉ kích thước tệp. Một ảnh phong cảnh rộng có thể cần cắt chặt hơn trên màn hình hẹp để chủ thể vẫn hiện rõ. Thẻ picture có thể cung cấp các nguồn theo media cụ thể, sau đó là một img fallback. Trình duyệt xem xét media, type, và thông tin srcset của mỗi source; img mang văn bản thay thế (alt), kích thước và hành vi dự phòng.

Chuẩn bị mỗi crop với rà soát biên tập và khả năng tiếp cận. Một cắt cho di động có thể bỏ mất chi tiết sản phẩm hoặc một người được nhắc tới trong alt. Đặt alt trên img và mô tả thông tin hoặc chức năng mà ảnh truyền đạt. Dùng alt="" chỉ cho ảnh thực sự mang tính trang trí; với ảnh liên kết hoặc ảnh nút, hãy mô tả hành động thay vì ngoại hình. Không thêm picture khi crop không thay đổi: srcset theo chiều rộng đơn giản hơn.

Sử dụng tốt

Một hero desktop phức tạp cần một crop chân dung riêng cho điện thoại.

Nguồn định dạng

Một source trong picture có thể cung cấp gợi ý type và vẫn giữ img fallback dùng được.

05

Tránh những sai lầm tốn kém về tải và markup

Lãng phí phổ biến là sao chép sizes="100vw" cho mọi ảnh. Điều đó có thể phù hợp cho một hình toàn chiều rộng nhỏ nhưng không đúng cho một container có giới hạn hoặc thẻ desktop. Lỗi đối nghịch là sizes cũ sau khi thiết kế thay đổi. Thay đổi CSS và sizes cùng nhau.

Không lazy-load hình ảnh quan trọng trong nội dung ban đầu hiển thị. Hướng dẫn khuyến nghị lazy-load ảnh bên dưới nếp gấp và giữ hero hiển thị sẵn sàng. fetch priority có thể nâng quyền một ảnh thật sự quan trọng, nhưng các quy tắc ưu tiên cao hoặc preload rộng rãi có thể gây hại hiệu suất. Đừng dựa vào tên tệp hay kết quả cache làm bằng chứng.

Suy giảm cache lạnh

Một CMS, proxy, hoặc cache có thể che giấu một miêu tả sai hoặc một yêu cầu ảnh không mong muốn.

Văn bản trong ảnh

Không để văn bản quan trọng trên trang chỉ phụ thuộc vào một crop được art-direct.

06

Kiểm tra yêu cầu, crop và sửa chữa

Kiểm thử các trang đại diện ở các chiều rộng thay đổi bố cục, bao gồm ngay trên và dưới điểm ngắt grid. Bao gồm cài đặt mật độ cao, desktop rộng, và các trạng thái thay đổi khung. Xác nhận kích thước render, crop, văn bản thay thế và độ sắc nét hình ảnh.

Trong Chrome DevTools, mở Network, tải lại với cache bị vô hiệu hóa hoặc dùng Empty Cache And Hard Reload, lọc yêu cầu ảnh, và kiểm tra URL, kích thước chuyển tải, headers, initiator và timing. Giảm băng thông (throttle) để lộ các tác vụ trì hoãn hoặc lãng phí. Ghi lại viewport, device scale factor, khung (slot), ứng viên, byte đã truyền và kết quả mong đợi.

Khi mẫu, điểm ngắt, CDN, hoặc pipeline tài sản thay đổi, biến bước này thành một cửa gác phát hành. Sửa hẹp: chỉnh sizes, sửa miêu tả, tái tạo crop, phục hồi fallback, hoặc loại bỏ preload không cần thiết. Thử lại với một tải lại cache trống.

Quan sát thay vì suy luận

Bảng Network ghi lại ứng viên thực sự được yêu cầu.

Giới hạn vật chất

Điều này xác minh hành vi phân phối ảnh, không phải năng lực nguồn gốc, khả dụng CDN, hay thời gian hoạt động tổng thể.

07

Áp dụng như một kiểm soát khả năng phục hồi SIU

Ảnh đáp ứng giảm chuyển tải không cần thiết nhưng không thể đảm bảo một yêu cầu thành công. Lỗi nguồn gốc, chuyển đổi không khả dụng, hosts bên thứ ba và sự cố CDN cần kế hoạch liên tục và khôi phục riêng.

Đối với SIU, dùng hồ sơ kiểm thử để phát hiện suy giảm phân phối sớm, xác định mẫu hoặc quy tắc chuyển đổi chịu trách nhiệm, và thực hiện sửa nhỏ an toàn trước khi phát hành. Kết hợp điều này với tiền kiểm về khả dụng và kế hoạch rollback.

Sự sở hữu

Gán một chủ sở hữu thành phần và pipeline ảnh cho mọi kiểm tra chọn lựa thất bại.

HÀNH ĐỘNG / XÁC MINH

Hướng dẫn việc cần làm thiết thực.

  1. 01

    Phân loại từng thành phần

    Đánh dấu là linh hoạt, khung cố định, art-directed, trang trí, chức năng, hoặc nội dung hiển thị quan trọng.

    XÁC MINH: Hồ sơ kiểm kê ghi phạm vi khung, quy tắc crop và chủ sở hữu.
  2. 02

    Đo các khung

    Kiểm tra lưới tương tự sản xuất ở trạng thái hẹp, trung bình và rộng.

    XÁC MINH: Chiều rộng hộp CSS đã ghi bao gồm giới hạn, khoảng cách và sidebar.
  3. 03

    Chọn miêu tả

    Dùng w với sizes cho khung linh hoạt hoặc x cho khung cố định; không trộn chúng.

    XÁC MINH: Mỗi srcset sử dụng đúng một loại miêu tả.
  4. 04

    Viết sizes từ CSS

    Dùng điều kiện khớp đầu tiên và một fallback vô điều kiện mô tả khung.

    XÁC MINH: Giá trị khớp là đáng tin ở mọi viewport đã kiểm thử.
  5. 05

    Xác thực tài sản

    Kiểm tra rằng mọi ứng viên tồn tại và khớp chiều rộng nội tại được khai báo.

    XÁC MINH: Yêu cầu trực tiếp trả về tệp dự định và một fallback hợp lệ.
  6. 06

    Dành chỗ

    Cung cấp giá trị width và height khớp và CSS giữ tỉ lệ phản ứng.

    XÁC MINH: Khi ảnh tải xong không gây dịch chuyển nội dung xung quanh không cần thiết.
  7. 07

    Rà soát art direction

    Kiểm tra mọi crop theo media và alt của img.

    XÁC MINH: Các chủ thể quan trọng vẫn hiển thị và alt vẫn chính xác.
  8. 08

    Đặt ưu tiên có chủ ý

    Lazy-load ảnh bên dưới nếp gấp; tránh quy tắc ưu tiên cao hoặc preload rộng rãi.

    XÁC MINH: Hero thật sự hiển thị được yêu cầu ngay mà không bị cạnh tranh không cần thiết.
  9. 09

    Ghi lại bằng chứng cache lạnh

    Dùng lọc ảnh trong DevTools, tải lại vô hiệu hóa cache và viewport đại diện.

    XÁC MINH: Bằng chứng phát hành ghi ứng viên được chọn, khung, kích thước chuyển tải và crop.
  10. 10

    Lập kế hoạch khắc phục

    Gán sửa hẹp hoặc rollback cho thay đổi mẫu và pipeline ảnh.

    XÁC MINH: Mỗi lỗi có chủ sở hữu và kiểm thử cache lạnh thành công sau khi sửa.
CHỦ ĐỀ THẢO LUẬN

So sánh các đánh đổi, không chia sẻ dữ liệu riêng tư.

Dùng các câu hỏi này với nhóm hoặc cộng đồng chủ sở hữu website. Chia sẻ phương pháp và bài học, nhưng tuyệt đối không dán thông tin đăng nhập, hồ sơ khách hàng hay chi tiết hạ tầng không công khai.

  1. 01

    Thành phần nào trên trang của bạn có khoảng cách lớn nhất giữa pixel đã tải xuống và khung hiển thị thông thường, và bạn có thể đo nó an toàn như thế nào?

  2. 02

    Các designer, chủ sở hữu CMS và đội frontend của bạn quyết định thế nào khi nào một crop di động là art direction thay vì chỉ resize?

  3. 03

    Bằng chứng nào khiến một suy giảm về ảnh đáp ứng dễ được phê duyệt hoặc rollback trong rà soát phát hành mà không chia sẻ dữ liệu khách hàng?

TÀI NGUYÊN PHỔ BIẾN / UY TÍN

Mở tài liệu nguồn.

WHATWGImages in the HTML Standard ↗

Quy tắc chính cho miêu tả, lựa chọn kích thước nguồn, fallback và lựa chọn trình duyệt.

Đã rà soát 2026-09-27
MDN Web DocsUsing responsive images in HTML ↗

Hướng dẫn thực tế về srcset, sizes, chuyển đổi mật độ, art direction và kiểm thử.

Đã rà soát 2026-09-27
web.devResponsive images ↗

Hướng dẫn của Google về kích thước, tải, miêu tả và ràng buộc bố cục.

Đã rà soát 2026-09-27
MDN Web Docspicture HTML picture element ↗

Tham chiếu cho lựa chọn media và type, art direction, sizes và fallback.

Đã rà soát 2026-09-27
Chrome for DevelopersInspect network activity ↗

Hướng dẫn cho yêu cầu, chuyển tải, throttling, lọc và tải lại cache trống.

Đã rà soát 2026-09-27
W3C Web Accessibility InitiativeImages Tutorial ↗

Hướng dẫn phân biệt ảnh có ý nghĩa, trang trí, chức năng và chứa văn bản.

Đã rà soát 2026-09-27

Chính sách nguồn. Các khẳng định về cú pháp ảnh đáp ứng và lựa chọn của trình duyệt được căn cứ trên tiêu chuẩn chính thức và tài liệu được liệt kê bên dưới. Xác thực markup, chiều rộng ứng viên và bố cục được render trên các mẫu thực tế của trang trước khi phát hành.

GIẢI ĐÁP NHANH

Các câu hỏi thường gặp.

Tôi có cần sizes bất cứ khi nào dùng srcset không?

Dùng sizes với miêu tả theo chiều rộng vì trình duyệt cần một ước tính kích thước nguồn cho khung linh hoạt. Một srcset mật độ cố định dùng miêu tả x và không cần sizes. Không bao giờ trộn hai loại miêu tả trong cùng một source set.

sizes có thay đổi chiều rộng CSS của ảnh không?

Không. sizes là gợi ý chọn trước khi tải. CSS và bố cục thành phần quyết định hộp được render, đó là lý do sizes phải được duy trì bất cứ khi layout đó thay đổi.

Mỗi ảnh đáp ứng có nên dùng picture không?

Không. Dùng srcset theo chiều rộng khi bố cục không thay đổi thành phần. Dùng picture khi một điều kiện media cần một crop khác hoặc một nguồn theo định dạng, trong khi vẫn giữ img fallback dùng được.

Status Is UP Editorial Team · Biên tập viên Hỗ trợ Uptime

Được rà soát bởi Người đánh giá hiệu suất web và khả năng truy cập. Xuất bản 2026-09-27; cập nhật 2026-09-30.