HTML Tag: picture

Thẻ picture cho phép các lập trình viên linh hoạt hơn trong qua trình xử lý hình ảnh.

Việc sử dụng thẻ picture phổ biến nhất chính là trong việc thiết kế website responsive. Thay vì chỉ sử dụng một hình ảnh để phóng to và thu nhỏ tùy thuộc vào kích cỡ màn hình hiển thị, nhiều hình ảnh với các kích cỡ khác nhau sẽ được chọn để hiển thị tùy thuộc vào kích thước màn hình khiến khung hình đẹp hơn.

Thẻ picture chứa hai loại thẻ khác nhau là một thẻ img và một hoặc nhiều thẻ source.

Thẻ source có các thuộc tính:

  • srcset (yêu cầu) - xác định URL của hình ảnh để hiển thị.
  • media - chấp nhận mọi truy vấn media hợp lệ thường được định nghĩa trong CSS.
  • sizes - xác định kích thước hình ảnh hiển thị.
  • Type - định nghĩa kiểu file.

Trình duyệt sẽ sử dụng các giá trị thuộc tính để tải hình ảnh thích hợp nhất. Thẻ  source đầu tiên phù hợp với thuộc tính sẽ được sử dụng.

Thẻ img sẽ là thẻ con cuối cùng nằm trong thẻ picture. Khi không có bất cứ thẻ source nào phù hợp thẻ img sẽ được sử dụng để hiển thị.

Cách sử dụng

Ví dụ: Trong ví dụ này mình sẽ sử dụng thẻ picture kêt hợp với các thẻ source và img để tạo một trang responsive hiển thị trên nhiều kích cỡ màn hình.

các bạn chuẩn bị 3 hình ảnh black.jpg, yellow.jpg và blue.jpg nằm cùng cấp với file html có nội dung sau:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<h1>Học html miễn phí tại freetuts.net</h1>
		<picture>
		  <source media="(min-width: 800px)" srcset="black.jpg">
		  <source media="(min-width: 600px)" srcset="blue.jpg">
		  <img src="yellow.jpg" alt="Flowers" style="width:auto;">
		</picture>
	</body>
</html>

Thay đổi kích thước cửa sổ trình duyệt, các bạn sẽ thấy hình ảnh thay đổi theo kích cỡ.

Nguồn: freetuts.net