Thuộc tính background-image trong CSS

Thuộc tính background-image trong CSS
Thuộc tính background-image trong CSS

Chức năng của Thuộc tính background-image trong CSS

Thuộc tính background-image trong CSS dùng để tạo hình nền cho phần tử HTML hoặc kết hợp nhiều màu sắc để tạo hình nền cho phần tử HTML.

Code Thuộc tính background-image trong CSS

Thuộc tính background-image mặc định trong CSS

background-image một hình nhỏ, không thêm thuộc tính khác, mặc định nó tự lặp lại:

background-image: url('https://webmoi.vn/thumuc/bg-nho.jpg');
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image mặc định trong CSS</title>
<style>
body  {
  background-color: #cccccc;
  color:yellow
}
</style>
</head>
<body style="background-image: url('https://webmoi.vn/thumuc/bg-nho.jpg');">
<h1>Thuộc tính background-image mặc định trong CSS</h1>
<p>Xin chào</p>
</body>
</html>

Chạy Thử

Thuộc tính background-image mặc định nhiều hình trong CSS

Hình nào đứng trước sẽ nằm trên hình đứng sau, 2 hình mặc định sẽ đều lặp:

background-image: url('https://webmoi.vn/thumuc/bg-cay.png'), url('https://webmoi.vn/thumuc/bg-nho.jpg');
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image mặc định nhiều hình trong CSS</title>
<style>
body  {
  background-color: #cccccc;
  color:yellow
}
</style>
</head>
<body style="background-image: url('https://webmoi.vn/thumuc/bg-cay.png'), url('https://webmoi.vn/thumuc/bg-nho.jpg');">
<h1>Thuộc tính background-image mặc định nhiều hình trong CSS</h1>
<p>Xin chào</p>
</body>
</html>

Chạy Thử

Thuộc tính background-image no-repeat, repeat trong CSS

Repeat vị trí 1 sẽ tương ứng hình 1, repeat vị trí 2 tương ứng với hình 2:

background-image: url('https://webmoi.vn/thumuc/bg-cay.png'), url('https://webmoi.vn/thumuc/bg-nho.jpg'); background-repeat: no-repeat, repeat;
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image no-repeat, repeat trong CSS</title>
<style>
body  {
  background-color: #cccccc;
  color:yellow
}
</style>
</head>
<body style="background-image: url('https://webmoi.vn/thumuc/bg-cay.png'), url('https://webmoi.vn/thumuc/bg-nho.jpg'); background-repeat: no-repeat, repeat;">
<h1>Thuộc tính background-image no-repeat, repeat trong CSS</h1>
<p>Xin chào</p>
</body>
</html>

Chạy Thử

Thuộc tính background-image canh giữa, full hình trong CSS

Căn giữa hình ảnh, thay đổi kích thước hình ảnh nền để bao phủ toàn bộ vùng chứa:

{
  background-image: url("https://webmoi.vn/thumuc/ceo-bui-tan-luc.jpg");
  background-position: center; /*Căn giữa hình ảnh*/
  background-size: cover; /* Thay đổi kích thước hình ảnh nền để bao phủ toàn bộ vùng chứa */
}
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image canh giữa, full hình trong CSS</title>
<style>
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.hero-image {
  background-color: #cccccc;
  height: 500px;
  background-image: url("https://webmoi.vn/thumuc/ceo-bui-tan-luc.jpg");
  background-position: center; /*Căn giữa hình ảnh*/
  background-size: cover; /* Thay đổi kích thước hình ảnh nền để bao phủ toàn bộ vùng chứa */
  background-repeat: no-repeat;
  position: relative;
}

.hero-text {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
}
</style>
</head>
<body>
<div class="hero-image">
  <div class="hero-text">
    <h1 style="font-size:50px">BÙI TẤN LỰC</h1>
    <h3>Người Sáng lập Web Mới</h3>
    <button>Xem Ngay</button>
  </div>
</div>
<h1>Thuộc tính background-image canh giữa, full hình trong CSS</h1>
<p>Xin chào</p>
</body>
</html>

Chạy Thử

Thuộc tính background-image linear-gradient 2 màu trong CSS

Background tuyến tính từ trên xuống, chuyển dần từ màu đỏ sang màu vàng:

background-image: linear-gradient(red, yellow);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image linear-gradient 2 màu trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image linear-gradient 2 màu trong CSS</h1>
<p>Background tuyến tính từ trên xuống, chuyển dần từ màu đỏ sang màu vàng:</p>
<div id="divbg" style="background-image: linear-gradient(red, yellow);"></div>
</body>
</html>

Chạy Thử

Thuộc tính background-image linear-gradient 3 màu trong CSS

Background tuyến tính từ trên xuống, chuyển dần từ màu đỏ sang màu vàng, sau đó chuyển dần sang màu xanh:

background-image: linear-gradient(red, yellow, green);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image linear-gradient 3 màu trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image linear-gradient 3 màu trong CSS</h1>
<p>Background tuyến tính từ trên xuống, chuyển dần từ màu đỏ sang màu vàng, sau đó chuyển dần sang màu xanh:</p>
<div id="divbg" style="background-image: linear-gradient(red, yellow, green);"></div>
</body>
</html>

Chạy Thử

Thuộc tính background-image repeating-linear-gradient trong CSS

Background lặp lại các khối màu tuyến tính:

background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image repeating-linear-gradient trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image repeating-linear-gradient trong CSS</h1>
<p>Background lặp lại các khối màu tuyến tính</p>
<div id="divbg" style="background-image: repeating-linear-gradient(red, yellow 10%, green 20%);"></div>
</body>
</html>

Chạy Thử

Thuộc tính background-image radial-gradient 2 màu trong CSS

Background bắt đầu từ màu đỏ ở tâm chuyển dần sang màu vàng ra ngoài:

background-image: radial-gradient(red, yellow);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image radial-gradient 2 màu trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image radial-gradient 2 màu trong CSS</h1>
<p>Background bắt đầu từ màu đỏ ở tâm chuyển dần sang màu vàng ra ngoài:</p>
<div id="divbg" style="background-image: radial-gradient(red, yellow);"></div>
</body>
</html>

Chạy Thử

Thuộc tính background-image radial-gradient 3 màu trong CSS

Background bắt đầu từ màu đỏ ở tâm chuyển dần sang màu vàng rồi chuyển dần sang màu xanh ra ngoài:

background-image: radial-gradient(red, yellow, green);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image radial-gradient 3 màu trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image radial-gradient 3 màu trong CSS</h1>
<p>Background bắt đầu từ màu đỏ ở tâm chuyển dần sang màu vàng rồi chuyển dần sang màu xanh ra ngoài:</p>
<div id="divbg" style="background-image: radial-gradient(red, yellow, green);"></div>
</body>
</html>

Chạy Thử

Thuộc tính background-image repeating-radial-gradient trong CSS

Lặp lại các khối màu từ tâm ra ngoài:

background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính background-image repeating-radial-gradient trong CSS</title>
<style>
#divbg{
  height: 200px;
}
</style>
</head>
<body>
<h1>Thuộc tính background-image repeating-radial-gradient trong CSS</h1>
<p>Lặp lại các khối màu từ tâm ra ngoài:</p>
<div id="divbg" style="background-image: repeating-radial-gradient(red, yellow 10%, green 15%);"></div>
</body>
</html>

Chạy Thử

Ứng dụng thực tế của thuộc tính background-image trong CSS

background-image phát huy hiệu quả nhất khi được sử dụng để xây dựng các khu vực trực quan trên giao diện thay vì chỉ đặt một hình ảnh đơn lẻ. Tùy mục đích, bạn có thể dùng ảnh nền cho banner, tạo lớp phủ giúp nội dung dễ đọc hoặc kết hợp nhiều lớp nền để tạo bố cục sinh động.

Tạo ảnh nền cho banner và khu vực Hero

Banner và khu vực Hero thường cần một hình ảnh bao phủ toàn bộ không gian phía sau tiêu đề, đoạn giới thiệu hoặc nút hành động. Khi đó, background-image cho phép đặt hình ảnh trực tiếp lên phần nền của một phần tử mà không làm phát sinh thêm phần tử ảnh trong cấu trúc HTML.

<div class="hero">
  <h2>Thiết kế website hiện đại</h2>
  <p>Xây dựng giao diện trực quan và phù hợp với nhiều thiết bị.</p>
</div>

<style>
.hero {
  background-image: url("banner.jpg");
  background-size: cover;
  background-position: center;
  padding: 100px 30px;
}
</style>

Cách kết hợp background-size: coverbackground-position: center giúp hình ảnh lấp đầy khu vực hiển thị mà vẫn giữ tỷ lệ ban đầu. Đây là lựa chọn phù hợp cho những khu vực có kích thước thay đổi theo màn hình.

Kết hợp ảnh nền với màu phủ để làm nổi bật nội dung

Ảnh nền có nhiều chi tiết hoặc độ tương phản cao có thể khiến chữ phía trên khó đọc. Một cách xử lý hiệu quả là đặt thêm linear-gradient() cùng hình ảnh trong background-image, từ đó tạo một lớp phủ mà không cần chỉnh sửa trực tiếp file ảnh.

.hero {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
    url("banner.jpg");
  background-size: cover;
  background-position: center;
}

Lớp gradient có thể được điều chỉnh theo từng khu vực thay vì phủ đều toàn bộ ảnh. Chẳng hạn, phần tối hơn có thể tập trung về phía đặt tiêu đề để tăng độ tương phản, trong khi phần còn lại vẫn giữ được hình ảnh phía sau.

Tạo hiệu ứng nền bằng nhiều lớp hình ảnh và gradient

background-image hỗ trợ nhiều lớp nền, trong đó lớp được khai báo trước sẽ nằm phía trên lớp khai báo sau. Nhờ vậy, bạn có thể kết hợp hình ảnh, gradient hoặc nhiều hình ảnh để tạo một nền phức tạp mà không phải thêm nhiều phần tử vào HTML.

.section {
  background-image:
    linear-gradient(rgba(20, 30, 50, 0.7), rgba(20, 30, 50, 0.7)),
    url("texture.png"),
    url("background.jpg");
  background-size: cover, auto, cover;
  background-position: center, center, center;
}

Cách này đặc biệt hữu ích khi muốn tạo chiều sâu cho các khu vực như phần giới thiệu, banner hoặc khu vực nổi bật. Mỗi lớp có thể đảm nhiệm một vai trò riêng: gradient kiểm soát độ tương phản, họa tiết bổ sung chi tiết và ảnh chính tạo điểm nhấn thị giác.

Tạo giao diện nền phù hợp với từng kích thước màn hình

Một hình ảnh phù hợp trên màn hình lớn chưa chắc mang lại kết quả tốt trên điện thoại. Với background-image, bạn có thể thay đổi hình nền hoặc cách hiển thị nền thông qua media query, giúp giao diện phù hợp hơn với không gian thực tế của từng thiết bị.

.banner {
  background-image: url("banner-desktop.jpg");
  background-size: cover;
  background-position: center;
}

@media (max-width: 768px) {
  .banner {
    background-image: url("banner-mobile.jpg");
    background-position: center top;
  }
}

Việc sử dụng một ảnh dành riêng cho màn hình nhỏ có thể giúp chủ thể trong ảnh được bố trí rõ ràng hơn, đồng thời tránh tình trạng hình nền bị cắt mất phần quan trọng khi không gian hiển thị bị thu hẹp.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Thuộc tính background-image trong CSS.

  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Thuộc tính background-image trong CSS
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !