CSS3 đã giới thiệu một thuộc tính mới — background-size
— cho phép bạn thay đổi kích thước của hình nền. Điều đó có nghĩa là bạn có thể kéo dài hình ảnh của mình theo chiều ngang, chiều dọc hoặc cả hai. Bạn có thể thay đổi kích thước nó theo bất kỳ cách nào bạn muốn
Ví dụ: bạn có thể kéo dài hình nền [và co lại] theo bất kỳ kích thước nào của phần tử mà nó được áp dụng cho
Trong ví dụ sau, chúng tôi sử dụng cung cấp background-size
với giá trị là 100% 100%
, có nghĩa là nó có cùng kích thước của phần tử — bất kể hình ảnh thực tế lớn như thế nào
Chạy
Trình chỉnh sửa ngăn xếp Trình chỉnh sửa ngăn xếp
Xem trước trình chỉnh sửa
Kéo dài hình nền cho toàn bộ trang
Ví dụ trên sử dụng hình nền được áp dụng cho phần tử
object-fit =0. Bạn cũng có thể áp dụng nó đối với phần tử
fill |
contain |
cover |
none |
scale-down
object-fit =1, do đó, hình ảnh sẽ kéo dài ra để lấp đầy toàn bộ trang
fill |
contain |
cover |
none |
scale-down
Chạy
Trình chỉnh sửa ngăn xếp Trình chỉnh sửa ngăn xếp
Xem trước trình chỉnh sửa
Bạn có thể cần đặt thuộc tính
object-fit =4 của phần tử
fill |
contain |
cover |
none |
scale-down
object-fit =1 và
fill |
contain |
cover |
none |
scale-down
object-fit =3 thành
fill |
contain |
cover |
none |
scale-down
object-fit =5
fill |
contain |
cover |
none |
scale-down
Tăng Kích thước mà không "Kéo dài" Hình ảnh ra khỏi Tỷ lệ
Thuộc tính background-size
cũng chấp nhận các giá trị ngăn hình ảnh kéo dài ra khỏi tỷ lệ
Sử dụng background-size
0
Bạn có thể sử dụng background-size
0 để chia tỷ lệ hình ảnh, đồng thời giữ nguyên tỷ lệ khung hình nội tại của nó [nếu có], thành kích thước nhỏ nhất sao cho cả chiều rộng và chiều cao của hình ảnh có thể bao phủ hoàn toàn khu vực định vị nền
Sử dụng tùy chọn này sẽ đảm bảo rằng hình ảnh không bị kéo dài ra khỏi tỷ lệ. Xin lưu ý rằng các phần của hình ảnh có thể bị ẩn nếu phần tử có tỷ lệ khác với hình nền của nó
Chạy
Trình chỉnh sửa ngăn xếp Trình chỉnh sửa ngăn xếp
Xem trước trình chỉnh sửa
Sử dụng background-size
2
Bạn có thể sử dụng background-size
2 để chia tỷ lệ hình ảnh, đồng thời giữ nguyên tỷ lệ khung hình nội tại của nó [nếu có], thành kích thước lớn nhất sao cho cả chiều rộng và chiều cao của hình ảnh đều có thể nằm gọn trong khu vực định vị nền
Sử dụng tùy chọn này sẽ đảm bảo rằng không có hình ảnh nào bị ẩn khi tăng hoặc giảm tỷ lệ
Chạy
Trình chỉnh sửa ngăn xếp Trình chỉnh sửa ngăn xếp
Xem trước trình chỉnh sửa
Sử dụng các lớp CSS
Mặc dù thuộc tính background-size
là cách được đề xuất để kéo dài hình ảnh nền của bạn, nhưng không phải lúc nào thuộc tính này cũng xuất hiện
Trước khi thuộc tính này được phát minh, bạn cần sử dụng một chút thủ thuật để đạt được hiệu ứng "hình nền kéo dài"
Một phương pháp là sử dụng một phần tử background-size
5 bình thường và sau đó xếp lớp nó để nó có vẻ là một hình nền
Nếu vì bất kỳ lý do gì bạn không thể/không muốn sử dụng phương pháp background-size
, hãy xem cách kéo giãn hình nền bằng cách sử dụng các lớp
Thuộc tính CSS
object-fit =4 đặt cách thay đổi kích thước nội dung của phần tử được thay thế, chẳng hạn như
fill |
contain |
cover |
none |
scale-down
object-fit =5 hoặc
fill |
contain |
cover |
none |
scale-down
object-fit =6, để phù hợp với vùng chứa của nó
fill |
contain |
cover |
none |
scale-down
Bạn có thể thay đổi căn chỉnh đối tượng nội dung của phần tử được thay thế trong hộp của phần tử bằng cách sử dụng thuộc tính
object-fit =7
fill |
contain |
cover |
none |
scale-down
object-fit: contain;
object-fit: cover;
object-fit: fill;
object-fit: none;
object-fit: scale-down;
/* Global values */
object-fit: inherit;
object-fit: initial;
object-fit: revert;
object-fit: revert-layer;
object-fit: unset;
Thuộc tính
object-fit =4 được chỉ định là một từ khóa duy nhất được chọn từ danh sách các giá trị bên dưới
fill |
contain |
cover |
none |
scale-down
object-fit =9
fill |
contain |
cover |
none |
scale-down
Nội dung được thay thế được chia tỷ lệ để duy trì tỷ lệ khung hình của nó trong khi vừa với hộp nội dung của phần tử. Toàn bộ đối tượng được tạo để lấp đầy hộp, trong khi vẫn giữ nguyên tỷ lệ khung hình của nó, vì vậy đối tượng sẽ được "đóng hộp chữ cái" nếu tỷ lệ khung hình của nó không khớp với tỷ lệ khung hình của hộp
object-fit =0
fill |
contain |
cover |
none |
scale-down
Nội dung được thay thế có kích thước để duy trì tỷ lệ khung hình trong khi lấp đầy toàn bộ hộp nội dung của phần tử. Nếu tỷ lệ khung hình của đối tượng không khớp với tỷ lệ khung hình của hộp, thì đối tượng sẽ được cắt bớt cho vừa
object-fit =1
fill |
contain |
cover |
none |
scale-down
Nội dung được thay thế có kích thước để lấp đầy hộp nội dung của phần tử. Toàn bộ đối tượng sẽ lấp đầy hoàn toàn hộp. Nếu tỷ lệ khung hình của đối tượng không khớp với tỷ lệ khung hình của hộp, thì đối tượng sẽ được kéo dài để khớp với
object-fit =2
fill |
contain |
cover |
none |
scale-down
Nội dung thay thế không được thay đổi kích thước
object-fit =3
fill |
contain |
cover |
none |
scale-down
Nội dung có kích thước như thể
object-fit =2 hoặc
fill |
contain |
cover |
none |
scale-down
object-fit =9 đã được chỉ định, tùy theo điều kiện nào dẫn đến kích thước đối tượng cụ thể nhỏ hơn
fill |
contain |
cover |
none |
scale-down
Giá trị ban đầu
object-fit =1Áp dụng cho các phần tử được thay thếKế thừakhông có Giá trị tính toánnhư đã chỉ định Loại hoạt hình rời rạc
fill |
contain |
cover |
none |
scale-down