[Học CSS] Màu nền và Ảnh nền (background)

11 Tháng Tư, 2015

Bài này thuộc phần 13 của 26 phần trong serie Học CSS cơ bản

Tạm gác qua các khái niệm về Box Model qua một bên mà ở phần này chúng ta sẽ làm quen với một loại thuộc tính cũng rất thú vị và có tác dụng làm đẹp website của bạn lên hơn, đó là các thuộc tính thêm màu nền và ảnh nền cho website hoặc bất kỳ một phần tử dạng block nào.

Màu nền với background-color

Nếu bạn muốn thiết lập màu nền bằng CSS thì có thể sử dụng thuộc tính background-color và giá trị của nó là tên màu, hoặc mã màu HEX/RBG, mình thì thường dùng nhất là mã màu Hex vì nó đa dạng và dễ dùng hơn.

Ảnh nền với background-image

Đối với thuộc tính thêm ảnh nền thì chúng ta sẽ sử dụng background-image và nó còn có thêm khá nhiều thuộc tính khác nữa kèm theo mà mình sẽ nói bên dưới. Dưới đây là ví dụ lấy một tấm ảnh sử dụng làm ảnh nền.

Nhớ là đối với các giá trị loại URL thì bạn phải có một cái hàm url() để bọc cái đường dẫn của URL lại nhé.

Ngoài ra, bạn có thể thêm nhiều ảnh nền khác nhau trên cùng một block bằng cách sử dụng nhiều giá trị url() và các giá trị phải được cách nhau bởi dấu phẩy. Ví dụ:

background-image: url('ảnh 1'), url('ảnh 2');

Tùy chỉnh lặp lại ảnh nền với background-repeat

Mặc định khi sử dụng ảnh nền, thì hình ảnh sẽ được lặp đi lặp lại theo cả chiều ngang và chiều dọc cho đến khi ảnh nền lấp toàn bộ phần tử. Nhưng bạn cũng có thể tùy chỉnh lại việc lặp ảnh nền thông qua thuộc tính background-repeat, nó hỗ trợ các giá trị như sau:

  • no-repeat: Không lặp.
  • repeat-x: Lặp theo chiều ngang.
  • repeat-y: Lặp theo chiều dọc.
  • space: Lặp đều theo chiều ngang và chiều dọc, ảnh nền sẽ cách nhau bằng khoảng trắng.
  • round: Chưa hiểu lắm nên không giải thích.
  • repeat: Mặc định.

Một ví dụ của DMD về việc lặp ảnh nền.

Đổi vị trí ảnh nền với background-position

Đối với các tấm ảnh nền cỡ nhỏ hoặc dùng background-size để sửa lại kích thước thì có thể bạn sẽ cần thay đổi vị trí hiển thị của ảnh nền đó, và bạn có thể dùng thuộc tính background-position này. Nó có một số giá trị như sau:

  • top: hiển thị ở trên đầu phần tử.
  • bottom: hiển thị bên dưới phần tử.
  • left: hiển thị bên trái phần tử.
  • right: hiển thị bên phải phần tử.
  • center: hiển thị chính giữa phần tử.
  • y-x: tùy biến vị trí hiển thị theo tọa độ, giá trị đứng trước là y và đứng sau là x. Ví dụ: 15px 10px

Đối với thuộc tính này thì bạn có thể viết tối đa cùng lúc hai giá trị. Ví dụ bạn muốn ảnh của bạn sẽ nằm bên phải phía trên phần tử thì sẽ có giá trị là left top. Bạn cũng có thể thiết lập giá trị cho nhiều ảnh nền cùng lúc kiểu left top, top center.

Ngoài ra còn có thêm một vài thuộc tính dành riêng cho việc tùy
biến ảnh nền nữa nhưng bạn có thể tham khảo thêm tại CSS Reference nhé.

Lời kết

Mặc dù trong bài này mình không nói hết toàn bộ thuộc tính liên quan đến ảnh nền nhưng ở trên là các thuộc tính mà mình nghĩ rằng bạn sẽ cần sử dụng nhiều nhất nên bạn cứ tập trung làm quen với các thuộc tính đó trước, từ đó bạn sẽ cảm thấy bắt đầu với các thuộc tính tương tự dễ dàng hơn.