[CSS] Bài 5 – Các Thuộc Tính Background

Trong bài trước, chúng ta đã trang trí một vài container sử dụng thuộc tính background-color. Tuy nhiên vẫn còn nhiều cách khác nữa để khiến các container trông đẹp mắt hơn. Hãy cùng thảo luận thêm về các thuộc tính background. Thiết lập hình nền cho một container Chúng ta đã sử dụng thuộc

Trong bài trước, chúng ta đã trang trí một vài container sử dụng thuộc tính background-color.
Tuy nhiên vẫn còn nhiều cách khác nữa để khiến các container trông đẹp mắt hơn.
Hãy cùng thảo luận thêm về các thuộc tính background.

Thiết lập hình nền cho một container

Chúng ta đã sử dụng thuộc tính background-color một vài lần trong bài hướng dẫn trước.
Lần này chúng ta sẽ thiết lập hình nền của một container sử dụng thuộc tính background-image.
Đây là cú pháp của thuộc tính này:

background-image: url(đường-dẫn-tới-tệp-ảnh);

Dạng của đường dẫn tới tệp ảnh sẽ tùy thuộc vào việc ảnh mà bạn sử dụng được lưu trữ cục bộ
hay trên một trang web khác đâu đó trên internet. Trong code ví dụ phía bên dưới, chúng ta sẽ
sử dụng một tấm ảnh đang được host tại imgur.

lovely.html

<!doctypehtml><html><head><metacharset="utf-8"><title>A Lovely Day</title><linkrel="stylesheet"href="lovely.css"></head><body><sectionclass="card"><h2class="card-msg">A lovely daaay !</h2></section></body></html>

lovely.css

.card{display: inline-block;width: 320px;height: 360px;/* color is used in case browser cannot load image */background-color: Crimson;/* use image as background */background-image:url(https://i.imgur.com/sp2xQEy.png);}.card-msg{text-align: center;color: White;}

Chúng ta đã sử dụng một tấm hình có một cánh đồng trải dài. Nhưng phần đẹp đẽ của
tấm hình lại bị ẩn đi vì kích thước của container nhỏ hơn rất nhiều so với kích thước của
ảnh nền. Hãy cùng sửa lại trong phần tiếp theo.

Thuộc tính background-size

Thuộc tính background-size có thể được sử dụng với 1 trong 2 giá trị thông minh: covercontainer.
Cả 2 giá trị này sẽ đều cố gắng khiến cho hình nền điều chỉnh phù hợp với kích thước của container.

Trong khi background-size: cover; sẽ giúp đảm bảo rằng hình nền luôn lấp kín diện tích của container,
thì background-size: container sẽ giúp đảm bảo rằng hình nền luôn được hiển thị đầy đủ trong container.

Hãy thử nhân đôi container mà chúng ta đang có và dùng thử cả 2 giá trị này.

lovely.html

<!doctypehtml><html><head><metacharset="utf-8"><title>Another Lovely Day</title><linkrel="stylesheet"href="lovely.css"></head><body><sectionclass="card bg-cover"><h2class="card-msg">A lovely daaay !</h2></section><sectionclass="card bg-contain"><h2class="card-msg">Another lovely daaay !</h2></section></body></html>

lovely.css

.card{display: inline-block;width: 320px;height: 360px;background-color: Crimson;background-image:url(https://i.imgur.com/sp2xQEy.png);}.card-msg{text-align: center;color: White;}.bg-cover{background-size: cover;}.bg-contain{background-size: contain;}

Như bạn đã thấy thì hình nền ở container thứ 2 có cùng độ rộng với container nhưng có chiều cao nhỏ hơn.
Và theo mặc định thì trình duyệt web sẽ lặp hình nền để lấp đầy diện tích của container.

Để điều khiển việc lặp hình nền, chúng ta có thuộc tính background-repeat có thể được sử dụng với 1 trong 3 giá trị sau:
repeat-x, repeat-y, và no-repreat. Bạn có thể thử sử dụng thuộc tính này với container thứ 2 để xem cách hoạt động. 😄

P/s: Thuộc tính background-size cũng có thể được sử dụng với một cặp giá trị chỉ Độ Dài. Giá trị đầu tiên sẽ là width (chiều rộng)
và giá trị thứ 2 sẽ là height (chiều cao). Ví dụ: background-size: 500px 300px;

Thuộc tính background-position

Thông thường thì chúng ta sẽ muốn đảm bảo hình nền luôn che phủ hết diện tích của container.
Vì vậy nên sẽ hay có một phần của hình nền bị ẩn đi. Thuộc tính background-position có thể
giúp chúng ta thiết lập vị trí của hình nền để đảm bảo phần đẹp nhất của hình nền sẽ được hiển thị.

Đây là các giá trị mặc định của background-position:

background-position: left top;

Giá trị đầu tiên là vị trí theo phương ngang và có thể nhận một trong các khóa sau: left (bên trái),
center (chính giữa), right (bên phải), hoặc một giá trị chỉ Độ Dài.

Giá trị thứ 2 là vị trí theo phương dọc và có thể nhận một trong các khóa sau: top (phía trên),
center (chính giữa), bottom (phía dưới), hoặc một giá trị chỉ Độ Dài.

Hãy chỉnh sửa ví dụ trước đó của chúng ta một chút để xem background-position hoạt động như
thế nào.

lovely.html

<!doctypehtml><html><head><metacharset="utf-8"><title>Perfect Lovely Day</title><linkrel="stylesheet"href="lovely.css"></head><body><sectionclass="card bg-left-top"><h2class="card-msg">A perfect</h2></section><sectionclass="card bg-center-top"><h2class="card-msg">lovely</h2></section><sectionclass="card bg-right-top"><h2class="card-msg">daaay !</h2></section></body></html>

lovely.css

.card{display: inline-block;width: 224px;height: 378px;background-color: Crimson;background-image:url(https://i.imgur.com/sp2xQEy.png);background-size: cover;}.card-msg{text-align: center;color: White;}.bg-left-top{background-position: left top;}.bg-center-top{background-position: center top;}.bg-right-top{background-position: right top;}

Bài viết về các thuộc tính background của chúng ta đến đây là kết thúc.
Ngoài những thuộc tính mà chúng ta đã nói đến ở trên, CSS còn một vài
thuộc tính khác nữa để làm việc với background mà mình đã không mang
vào bài viết này. Đây là danh sách tất cả các thuộc tính background trong
trường hợp bạn muốn tìm hiểu sâu hơn:

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ