CodeGym /Các khóa học /Frontend SELF VI /Tối ưu hóa hình ảnh cho web

Tối ưu hóa hình ảnh cho web

Frontend SELF VI
Mức độ, Bài học
Có sẵn

2.1 Lựa chọn định dạng hình ảnh phù hợp

Tối ưu hóa hình ảnh cho web là một quá trình quan trọng, nhằm giảm kích thước file hình ảnh mà không làm giảm chất lượng đáng kể. Tối ưu hóa hình ảnh giúp trang web tải nhanh hơn, cải thiện trải nghiệm người dùng và nâng cao xếp hạng website trên công cụ tìm kiếm.

Quá trình này đặc biệt quan trọng trong thời đại Internet di động, nơi tốc độ tải trang đóng vai trò rất quan trọng.

Lựa chọn định dạng hình ảnh phù hợp

Lựa chọn định dạng hình ảnh phù hợp là bước đầu tiên để tối ưu hóa hiệu quả. Mỗi định dạng có ưu và nhược điểm riêng:

JPEG

  • Áp dụng: hình ảnh và ảnh có nhiều màu sắc
  • Ưu điểm: mức độ nén cao với mất chất lượng, giúp giảm đáng kể kích thước file
  • Nhược điểm: mất chất lượng khi lưu lại nhiều lần

PNG

  • Áp dụng: hình ảnh với độ trong suốt và đồ họa có đường nét rõ ràng, văn bản
  • Ưu điểm: nén không mất dữ liệu, giữ nguyên chất lượng cao của hình ảnh
  • Nhược điểm: kích thước file lớn hơn so với JPEG

GIF

  • Áp dụng: ảnh động và hình ảnh với bảng màu giới hạn (tới 256 màu)
  • Ưu điểm: hỗ trợ ảnh động và độ trong suốt
  • Nhược điểm: bảng màu giới hạn

WebP

  • Áp dụng: định dạng hiện đại cho nhiều loại hình ảnh khác nhau
  • Ưu điểm: hỗ trợ cả nén mất mát và không mất mát, ảnh động và độ trong suốt. Mức độ nén cao
  • Nhược điểm: không được hỗ trợ trên tất cả các trình duyệt (mặc dù điều này đang cải thiện)

SVG

  • Áp dụng: hình ảnh vector, logo và biểu tượng
  • Ưu điểm: khả năng mở rộng mà không mất chất lượng, kích thước file nhỏ
  • Nhược điểm: chỉ phù hợp với đồ họa vector

2.2 Nén hình ảnh

Nén hình ảnh là bước quan trọng trong quá trình tối ưu hóa. Nó cho phép giảm kích thước file, duy trì chất lượng hình ảnh chấp nhận được.

Nén mất dữ liệu

Phương pháp này xóa một phần dữ liệu hình ảnh, làm giảm kích thước file và mất chất lượng nhẹ. Được sử dụng cho JPEG và WebP.

Ví dụ về công cụ:

  • TinyPNG/TinyJPG: công cụ trực tuyến để nén hình ảnh PNG và JPEG. Chúng giảm kích thước file, giữ nguyên chất lượng cao
  • ImageOptim: ứng dụng cho macOS, cho phép nén hình ảnh mà không mất chất lượng đáng kể
  • Squoosh: công cụ của Google hỗ trợ nhiều định dạng và phương pháp nén

Nén không mất dữ liệu

Phương pháp này giảm kích thước file mà không xóa dữ liệu, giữ nguyên chất lượng hình ảnh gốc. Được sử dụng cho PNG và WebP.

Ví dụ về công cụ:

  • PNGGauntlet: công cụ miễn phí cho Windows, sử dụng nhiều phương pháp nén để giảm kích thước hình ảnh PNG mà không mất dữ liệu
  • OptiPNG: tiện ích dòng lệnh để tối ưu hóa file PNG, loại bỏ dữ liệu dư thừa

2.3 Thay đổi kích thước hình ảnh

Thay đổi kích thước hình ảnh đến mức cần thiết trước khi tải lên website giúp giảm kích thước và tăng tốc độ tải trang. Điều này đặc biệt quan trọng đối với thiết kế web đáp ứng.

Công cụ để thay đổi kích thước:

  • Adobe Photoshop: trình chỉnh sửa hình ảnh mạnh mẽ, cho phép thay đổi kích thước và lưu hình ảnh với cài đặt tối ưu cho web
  • GIMP: trình chỉnh sửa hình ảnh miễn phí với chức năng thay đổi kích thước và khả năng chỉnh sửa rộng rãi
  • Online Image Resizer: công cụ trực tuyến để thay đổi kích thước hình ảnh mà không cần cài đặt phần mềm bổ sung

Sử dụng thuộc tính width và height trong HTML

Chỉ định thuộc tính width và height trong thẻ <img> cho phép trình duyệt dành chỗ cho hình ảnh trước khi tải, điều này ngăn ngừa "nhảy" nội dung khi tải trang. Điều này cải thiện trải nghiệm cho người dùng và giúp tránh làm xáo trộn bố cục.

Ví dụ:

HTML
    
      <img src="images/photo.jpg" alt="Ảnh thiên nhiên" width="800" height="600">
    
  

Mã này đảm bảo rằng trình duyệt dành không gian cho hình ảnh, điều này ngăn chặn việc xáo trộn nội dung.

2.4 Khuyến nghị thực tiễn

Lazy Loading

Lazy Loading (tải lười) cho phép tải hình ảnh chỉ khi chúng xuất hiện trong vùng nhìn thấy của màn hình. Điều này giảm thời gian tải trang ban đầu và tiết kiệm băng thông.

Ví dụ:

HTML
    
      <img src="example.jpg" alt="Mô tả hình ảnh" loading="lazy">
    
  

Thuộc tính loading="lazy" này yêu cầu trình duyệt chỉ tải hình ảnh khi nó trở nên hiển thị cho người dùng.

Thiết lập bộ nhớ đệm cho hình ảnh

Thiết lập bộ nhớ đệm server cho hình ảnh cho phép hình ảnh sử dụng lại được tải từ bộ nhớ đệm của trình duyệt, giúp đẩy nhanh tốc độ tải lại của trang.

Chúng ta sẽ thảo luận chi tiết hơn về bộ nhớ đệm trong module hai, khi bạn nghiên cứu sâu hơn về giao thức HTTP và cấu hình máy chủ Web.

Tối ưu hóa hình ảnh cho web là một quá trình toàn diện, bao gồm lựa chọn định dạng phù hợp, nén, thay đổi kích thước, sử dụng thuộc tính trong HTML, và áp dụng các thực hành tốt nhất để cải thiện hiệu suất của trang web. Áp dụng các phương pháp này góp phần cải thiện trải nghiệm người dùng, tăng tốc độ tải trang và nâng cao SEO.

1
Nhiệm vụ
Frontend SELF VI, mức độ, bài học
Đã khóa
Định dạng hình ảnh
Định dạng hình ảnh
1
Nhiệm vụ
Frontend SELF VI, mức độ, bài học
Đã khóa
Thay đổi kích thước
Thay đổi kích thước
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION