Bạn đang muốn tìm hiểu cách chèn hình ảnh vào trang web một cách chuyên nghiệp? Thẻ <img>
chính là công cụ không thể thiếu mà mọi lập trình viên web cần nắm vững. Trong bài viết này, chúng ta sẽ cùng khám phá từ những kiến thức cơ bản nhất cho đến các kỹ thuật tối ưu nâng cao nhé.
Giới thiệu thẻ <img>
trong HTML là gì và vai trò của nó

Hình ảnh đóng vai trò cực kỳ quan trọng trong thiết kế web hiện đại. Chúng không chỉ làm cho trang web trở nên sinh động, hấp dẫn mà còn giúp truyền tải thông tin một cách trực quan và hiệu quả. Bạn có thể tưởng tượng một trang web không có hình ảnh sẽ khô khan và nhàm chán như thế nào phải không?
Thẻ <img>
trong HTML chính là cầu nối giúp chúng ta chèn hình ảnh trực tiếp vào trang web. Đây là một trong những thẻ cơ bản và được sử dụng phổ biến nhất trong HTML. Điều đặc biệt là thẻ <img>
thuộc loại thẻ tự đóng, có nghĩa là nó không cần thẻ đóng như các thẻ khác.
Vai trò của thẻ <img>
không chỉ dừng lại ở việc hiển thị hình ảnh. Nó còn đóng góp quan trọng vào việc cải thiện trải nghiệm người dùng, tối ưu SEO, và tăng tương tác trên website. Khi được sử dụng đúng cách, thẻ <img>
có thể giúp trang web của bạn tải nhanh hơn, thân thiện hơn với công cụ tìm kiếm và dễ tiếp cận hơn đối với người khuyết tật.
Trong bài viết này, tôi sẽ hướng dẫn bạn cách sử dụng thẻ <img>
một cách chuyên nghiệp, từ cú pháp cơ bản đến những kỹ thuật tối ưu nâng cao. Chúng ta cũng sẽ tìm hiểu cách xử lý các lỗi thường gặp để bạn có thể tự tin áp dụng vào dự án thực tế.
Cú pháp chuẩn của thẻ <img>

Cấu trúc cơ bản
Thẻ <img>
có một đặc điểm rất riêng biệt so với các thẻ HTML khác – đó là nó thuộc loại thẻ tự đóng (self-closing tag). Điều này có nghĩa là bạn không cần viết thẻ đóng </img>
như các thẻ khác. Cú pháp cơ bản của thẻ <img>
như sau:
<img src="đường_dẫn_ảnh" alt="mô_tả_ảnh">
Trong đó:
– src
là thuộc tính bắt buộc, chỉ định đường dẫn đến file hình ảnh
– alt
cũng được coi là bắt buộc, cung cấp mô tả thay thế cho hình ảnh
Ví dụ cụ thể:
<img src="images/logo.png" alt="Logo công ty ABC">
Quy tắc viết thẻ chuẩn và an toàn
Để viết thẻ <img>
một cách chuẩn và an toàn, bạn cần lưu ý một số quy tắc quan trọng. Đầu tiên, luôn luôn khai báo thuộc tính alt
dù hình ảnh có thể hiển thị bình thường. Thuộc tính này không chỉ hỗ trợ SEO mà còn giúp người khuyết tật tiếp cận nội dung tốt hơn. Tham khảo thêm cách viết Thẻ img trong HTML để hiểu rõ hơn về tối ưu SEO cho hình ảnh.
Thứ hai, hãy chú ý đến việc sử dụng dấu ngoặc kép. Tất cả giá trị thuộc tính nên được đặt trong dấu ngoặc kép để tránh lỗi cú pháp. Ví dụ sai: <img src=image.jpg alt=Ảnh>
, ví dụ đúng: <img src="image.jpg" alt="Ảnh">
.
Cuối cùng, trong HTML5, bạn có thể viết thẻ <img>
mà không cần dấu gạch chéo cuối, tuy nhiên để đảm bảo tính tương thích, nhiều lập trình viên vẫn thích viết <img src="..." alt="..." />
. Cả hai cách đều chính xác và được chấp nhận.
Những thuộc tính quan trọng trong thẻ <img>

Thuộc tính bắt buộc và quan trọng
Thuộc tính src
(source) là trái tim của thẻ <img>
. Nó định nghĩa nguồn dữ liệu, cho trình duyệt biết nơi tìm file hình ảnh. Bạn có thể sử dụng đường dẫn tương đối (relative path) như images/photo.jpg
hoặc đường dẫn tuyệt đối (absolute path) như https://example.com/images/photo.jpg
.
Thuộc tính alt
(alternative text) rất quan trọng cho SEO và khả năng truy cập. Khi hình ảnh không thể tải được, văn bản trong alt
sẽ hiển thị thay thế. Các công cụ đọc màn hình cho người khuyết tật cũng sử dụng thông tin này để mô tả hình ảnh. Hãy viết alt
mô tả chính xác và ngắn gọn, tránh nhồi nhét từ khóa.
Ví dụ tốt: <img src="cat.jpg" alt="Chú mèo vàng đang ngủ trên sofa">
Ví dụ không tốt: <img src="cat.jpg" alt="mèo, pet, động vật, dễ thương, ngủ">
Thuộc tính bổ sung hữu ích
Thuộc tính width
và height
giúp bạn điều chỉnh kích thước hiển thị của hình ảnh. Tuy nhiên, hãy cẩn thận sử dụng để tránh làm méo ảnh. Thay vì điều chỉnh trực tiếp trong HTML, việc sử dụng CSS thường được khuyến khích hơn như trong bài viết về Phần tử HTML giúp bạn hiểu sâu hơn về áp dụng CSS hiệu quả.
<img src="photo.jpg" alt="Ảnh phong cảnh" width="300" height="200">
Thuộc tính loading
là một tính năng tương đối mới, rất hữu ích cho việc tối ưu tốc độ tải trang. Có hai giá trị chính:
– loading="lazy"
: Ảnh chỉ tải khi người dùng cuộn đến gần vị trí của nó
– loading="eager"
: Ảnh tải ngay lập tức (mặc định)
Thuộc tính srcset
là công cụ mạnh mẽ cho responsive design. Nó cho phép bạn cung cấp nhiều phiên bản ảnh với kích thước khác nhau, trình duyệt sẽ tự động chọn phiên bản phù hợp:
<img src="image-small.jpg"
srcset="image-small.jpg 300w, image-medium.jpg 600w, image-large.jpg 1200w"
alt="Ảnh responsive">
Các thuộc tính khác như title
(hiển thị tooltip khi di chuột), decoding
(điều khiển cách decode ảnh), và referrerpolicy
(kiểm soát thông tin referrer) cũng hữu ích trong những trường hợp cụ thể.
Ví dụ sử dụng thẻ <img>
từ cơ bản đến nâng cao

Ví dụ cơ bản chèn ảnh tĩnh
Hãy bắt đầu với những ví dụ đơn giản nhất. Đây là cách chèn một hình ảnh cơ bản vào trang HTML:
<img src="avatar.jpg" alt="Ảnh đại diện của tôi">
Nếu file ảnh nằm trong thư mục con:
<img src="images/products/laptop.jpg" alt="Laptop gaming XYZ">
Với ảnh từ nguồn bên ngoài:
<img src="https://example.com/banner.png" alt="Banner quảng cáo">
Bạn cũng có thể kết hợp với CSS để tạo hiệu ứng như đã hướng dẫn trong bài Phần tử HTML:
<img src="profile.jpg" alt="Ảnh hồ sơ" style="border-radius: 50%; width: 100px;">
Ví dụ nâng cao với responsive và lazy loading
Bây giờ chúng ta sẽ tìm hiểu những ví dụ phức tạp hơn, phù hợp cho các dự án web chuyên nghiệp. Ví dụ đầu tiên kết hợp srcset
để tạo ảnh responsive:
<img src="hero-400.jpg"
srcset="hero-400.jpg 400w,
hero-800.jpg 800w,
hero-1200.jpg 1200w"
sizes="(max-width: 480px) 400px,
(max-width: 768px) 800px,
1200px"
alt="Ảnh banner chính của trang web"
loading="lazy">
Ví dụ này cho phép trình duyệt chọn file ảnh phù hợp dựa trên kích thước màn hình thiết bị. Thuộc tính loading="lazy"
giúp ảnh chỉ tải khi cần thiết, cải thiện tốc độ tải trang ban đầu.
Đối với ảnh có tính nghệ thuật cao, bạn có thể sử dụng định dạng WebP kết hợp với fallback như ví dụ trong bài Thẻ img trong HTML:
<picture>
<source srcset="artwork.webp" type="image/webp">
<img src="artwork.jpg" alt="Tác phẩm nghệ thuật số" loading="lazy">
</picture>
Hướng dẫn tối ưu hóa hình ảnh cho SEO, tốc độ và responsive

Tối ưu hóa hình ảnh là một nghệ thuật đòi hỏi sự cân bằng giữa chất lượng và hiệu suất. Bước đầu tiên là nén ảnh trước khi upload. Bạn có thể sử dụng các công cụ online như TinyPNG, hoặc phần mềm như Photoshop để giảm dung lượng mà vẫn giữ được chất lượng chấp nhận được.
Việc chọn định dạng file cũng rất quan trọng. JPEG phù hợp cho ảnh phong cảnh, chân dung với nhiều màu sắc. PNG tốt cho ảnh có nền trong suốt hoặc ít màu. WebP là định dạng hiện đại, có thể tiết kiệm đến 30% dung lượng so với JPEG và PNG.
Để tạo trải nghiệm responsive tốt, hãy kết hợp srcset
và sizes
. Ví dụ:
<img src="default.jpg"
srcset="small.jpg 400w, medium.jpg 800w, large.jpg 1600w"
sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1600px"
alt="Mô tả chính xác">
Đừng quên tối ưu thuộc tính alt
bằng cách sử dụng từ khóa liên quan một cách tự nhiên. Thay vì “ảnh”, hãy mô tả cụ thể: “CEO John Smith phát biểu tại hội nghị công nghệ 2024”.
Cuối cùng, lazy loading là kỹ thuật không thể bỏ qua: <img loading="lazy" src="..." alt="...">
. Điều này đặc biệt hữu ích cho các trang có nhiều hình ảnh như gallery hoặc blog.
Các lỗi thường gặp khi dùng <img>
và cách khắc phục

Ảnh không hiển thị do sai đường dẫn src
Lỗi phổ biến nhất khi làm việc với thẻ <img>
là ảnh không hiển thị do đường dẫn sai. Điều này thường xảy ra khi bạn di chuyển file, đổi tên file, hoặc nhầm lẫn giữa đường dẫn tương đối và tuyệt đối.
Để tránh lỗi này, hãy kiểm tra kỹ đường dẫn. Nếu file ảnh nằm cùng thư mục với file HTML, bạn chỉ cần ghi tên file: src="photo.jpg"
. Nếu nằm trong thư mục con: src="images/photo.jpg"
. Lưu ý rằng đường dẫn có phân biệt chữ hoa thường trên một số hệ điều hành.
Một lỗi khác là quên phần mở rộng file. src="photo"
sẽ không hoạt động, phải là src="photo.jpg"
hoặc src="photo.png"
. Hãy luôn double-check đường dẫn trong Developer Tools của trình duyệt để debug nhanh chóng.
Thuộc tính alt
thiếu hoặc không rõ ràng
Nhiều developer bỏ qua thuộc tính alt
hoặc viết một cách qua loa. Điều này không chỉ ảnh hưởng đến SEO mà còn làm giảm trải nghiệm của người dùng khuyết tật. Một thuộc tính alt
tốt phải:
- Mô tả chính xác nội dung hình ảnh
- Ngắn gọn, thường dưới 125 ký tự
- Tự nhiên, không spam từ khóa
- Bỏ qua nếu ảnh chỉ mang tính trang trí (dùng
alt=""
)
Ví dụ tốt: alt="Đầu bếp đang chuẩn bị món pasta trong bếp nhà hàng"
Ví dụ không tốt: alt="pasta, đầu bếp, nhà hàng, món ăn, ẩm thực Italia"
Hãy nhớ rằng alt
không phải là title
. alt
là văn bản thay thế khi ảnh không tải được, còn title
là tooltip hiển thị khi di chuột.
Câu hỏi thường gặp (FAQ) về thẻ <img>

Thẻ <img>
có phải thẻ đóng không?
Không, thẻ <img>
là thẻ tự đóng (self-closing tag). Bạn không cần viết </img>
. Trong XHTML, có thể viết <img />
nhưng trong HTML5 thì không bắt buộc.
Có nên sử dụng ảnh SVG với thẻ <img>
không?
Có thể, nhưng cần lưu ý rằng khi dùng SVG trong thẻ <img>
, bạn không thể tương tác với các element bên trong SVG bằng CSS hay JavaScript. Nếu cần tương tác, hãy embed SVG trực tiếp vào HTML.
Làm sao để thẻ <img>
không ảnh hưởng đến tốc độ tải trang?
Sử dụng loading="lazy"
cho các ảnh không hiển thị ngay. Nén ảnh trước khi upload. Dùng định dạng WebP nếu có thể. Cân nhắc sử dụng CDN để phân phối ảnh nhanh hơn.
Khi nào nên dùng srcset
và sizes
?
Khi bạn muốn website responsive và tối ưu cho nhiều loại thiết bị khác nhau. srcset
cung cấp nhiều phiên bản ảnh, sizes
cho trình duyệt biết kích thước hiển thị dự kiến trong các điều kiện khác nhau.
alt
ảnh có ảnh hưởng đến SEO ra sao?
Có, alt
giúp Google hiểu nội dung ảnh và có thể xuất hiện trong kết quả tìm kiếm hình ảnh. Tuy nhiên, hãy viết alt
cho người dùng chứ không chỉ cho SEO. Thông tin chính xác và hữu ích quan trọng hơn việc nhồi nhét từ khóa.
Kết luận

Thẻ <img>
là một trong những công cụ cơ bản và quan trọng nhất trong HTML để chèn hình ảnh vào trang web. Mặc dù trông có vẻ đơn giản, nhưng để sử dụng thẻ <img>
một cách chuyên nghiệp và hiệu quả đòi hỏi hiểu biết sâu về các thuộc tính và kỹ thuật tối ưu.
Từ việc nắm vững cú pháp cơ bản với thuộc tính src
và alt
bắt buộc, đến việc áp dụng các kỹ thuật nâng cao như responsive images với srcset
, lazy loading, và tối ưu SEO – tất cả đều góp phần tạo nên một website chuyên nghiệp và thân thiện với người dùng.
Hãy nhớ rằng việc hiểu rõ và áp dụng đúng các thuộc tính không chỉ giúp cải thiện trải nghiệm người dùng mà còn tăng cường khả năng tối ưu công cụ tìm kiếm. Thường xuyên kiểm tra và khắc phục các lỗi phổ biến sẽ giúp bạn tránh được những vấn đề không đáng có trong quá trình phát triển web.
Cuối cùng, công nghệ web luôn phát triển và thay đổi. Hãy theo dõi các cập nhật mới nhất về HTML và CSS để đảm bảo website của bạn luôn hiện đại và tối ưu. Bây giờ, hãy thử áp dụng ngay những kiến thức này vào dự án web hiện tại của bạn và trải nghiệm sự khác biệt nhé!