Hình nền thường được sử dụng ở trên cùng trong bài viết, danh mục, từ khóa, … Nó có thể là hình ảnh đại diện của bài đăng trên blog.
Nếu hình ảnh nằm trong tệp CSS bên ngoài, nó sẽ chỉ được tải xuống sau khi tải xuống tệp CSS đó và phân tích tệp CSS. Nó sẽ kiểm tra khi class trong CSS đó thực sự được sử dụng trong HTML.
Bạn vẫn có thể sử dụng tải Lazy Load nếu chúng ở dạng HTML. Các plugin như FlyingPress tự động phát hiện và tải chúng theo kiểu Lazy Load.
Lưu ý: Nếu bạn đang sử dụng FlyingPress, chúng tôi có một lớp trợ giúp “lazy-bg” để tải hình nền theo kiểu lazy load ngay khi nó nằm bên trong tệp CSS.
Hình nền thường được sử dụng trong sliders với một số văn bản/nội dung ở trung tâm hoặc bạn có một div cố định và bạn muốn đặt một hình ảnh sẽ ‘fill’ mà không thay đổi kích thước vùng background-size: cover
Tuy nhiên, có một thuộc tính object-fit: cover
mang lại lợi ích tương tự. Hỗ trợ trình duyệt cũng tốt.
<!---PT Cũ---->
<div style="background-image: url('/background.jpg'); background-size: cover"></div>
<!---PT Mới---->
<img src="/background.jpg" alt="Hình nền" style="object-fit: cover" />
Cho dù bạn đang sử dụng hình nền hay thẻ IMG nếu hình ảnh ở trong màn hình đầu tiên ở trên cùng, hãy tải trước hình ảnh đó, yêu cầu trình duyệt tải xuống hình ảnh đó ở mức ưu tiên cao.
<html>
<head>
<!----Preload background----->
<link ref="preload" href="/background.jpg" as="image" />
</head>
<body>
<div style="background-image: url('/background.jpg'); background-size: cover"></div>
</body>
</html>
Hình nền có thể được sử dụng cùng với
Vì vậy, trong một số tình huống, tốt hơn nên sử dụng hình nền thay vì thẻ IMG để tận dụng các thuộc tính CSS khác.
Bạn có thể thêm thẻ IMG bình thường với hiển thị: không có. Thao tác này sẽ yêu cầu trình duyệt tải xuống hình ảnh ngay lập tức, nhưng hiển thị nó bằng hình nền.
<!---inline background image --->
<div style="background-image: url('/background.jpg'); background-size: cover">
<img src="/image.jpg" style="display: none" />
</div>
<!---External/Internal BG image--->
<style>
.bg{
background-image: url("/background.jpg");
background-size: cover;
}
</style>
<div class="bg">
<img src="/image.jpg" style="display: none" />
</div>
Bạn thêm srcset và kích thước vào hình ảnh bình thường để cung cấp hình ảnh đáp ứng dựa trên thiết bị:
<img srcset="elva-fairy-320w.jpg 320w,
elva-fairy-480w.jpg 480w,
elva-fairy-800w.jpg 800w"
sizes="(max-width: 320px) 280px,
(max-width: 480px) 440px,
800px"
src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy">
Tương tự, bạn có thể làm tương tự đối với hình nền bằng cách sử dụng image-set:
.bg{
background-image: url("cat.jpg");
background-image: image-set("bg.jpg" 1x, "bg-2x.jpg" 2x, "bg-print.jpg" 600dpi);
background-size: cover;
}
Nếu không, bạn sẽ cung cấp cùng một hình ảnh lớn cho MacBook 2880px và iPhone 6s 750px!
Nếu hình nền của bạn bên trong tệp CSS bên ngoài, hay trong HTML. Bằng cách này, trình duyệt không phải đợi tải xuống tệp CSS đó và sau đó mới tải hình ảnh xuống.
<style>
.bg{
background-image: url("/bg.jpg");
}
</style>
<div class="bg"></div>
<div style="background-image: url('bg.jpg')"></div>
Chỉ vậy thôi, cũng là giúp website bạn trở lên tuyệt vời hơn.