Hỗ trợ trình duyệt cũ hơn
Nếu hỗ trợ trình duyệt cũ là bắt buộc, vì vậy bạn không thể đi với nhiều nền hoặc độ dốc, có lẽ bạn sẽ muốn làm một cái gì đó như thế này trên một div
yếu tố dự phòng :
#background {
position: fixed;
top: 0;
left: 0;
width: 50%;
height: 100%;
background-color: pink;
}
Ví dụ: http://jsfiddle.net/PLfLW/1704/
Giải pháp sử dụng một div cố định thêm lấp đầy một nửa màn hình. Vì nó đã được sửa, nó sẽ giữ nguyên vị trí ngay cả khi người dùng của bạn cuộn. Bạn có thể phải nghịch ngợm với một số chỉ mục z sau đó, để đảm bảo các yếu tố khác của bạn nằm trên div nền, nhưng nó không quá phức tạp.
Nếu bạn có vấn đề, chỉ cần đảm bảo phần còn lại của nội dung của bạn có chỉ số z cao hơn yếu tố nền và bạn sẽ ổn.
Trình duyệt hiện đại
Nếu các trình duyệt mới hơn là mối quan tâm duy nhất của bạn, có một vài phương pháp khác bạn có thể sử dụng:
Gradient tuyến tính:
Đây chắc chắn là giải pháp dễ nhất. Bạn có thể sử dụng một gradient tuyến tính trong thuộc tính nền của cơ thể cho nhiều hiệu ứng.
body {
height: 100%;
background: linear-gradient(90deg, #FFC0CB 50%, #00FFFF 50%);
}
Điều này gây ra mức cắt cứng ở mức 50% cho mỗi màu, do đó không có "độ dốc" như tên gọi của nó. Hãy thử trải nghiệm với phần "50%" của phong cách để xem các hiệu ứng khác nhau mà bạn có thể đạt được.
Ví dụ: http://jsfiddle.net/v14m59pq/2/
Nhiều hình nền với kích thước nền:
Bạn có thể áp dụng màu nền cho thành html
phần, sau đó áp dụng hình nền cho thành body
phần đó và sử dụng thuộc background-size
tính để đặt thành 50% chiều rộng của trang. Điều này dẫn đến một hiệu ứng tương tự, mặc dù thực sự sẽ chỉ được sử dụng trên độ dốc nếu bạn tình cờ sử dụng một hoặc hai hình ảnh.
html {
height: 100%;
background-color: cyan;
}
body {
height: 100%;
background-image: url('http://i.imgur.com/9HMnxKs.png');
background-repeat: repeat-y;
background-size: 50% auto;
}
Ví dụ: http://jsfiddle.net/6vhshyxg/2/
EXTRA LƯU Ý: Lưu ý rằng cả phần tử html
và body
phần tử được đặt thành height: 100%
trong các ví dụ sau. Điều này là để đảm bảo rằng ngay cả khi nội dung của bạn nhỏ hơn trang, nền sẽ ít nhất là chiều cao của chế độ xem của người dùng. Nếu không có chiều cao rõ ràng, hiệu ứng nền sẽ chỉ đi xuống đến tận nội dung trang của bạn. Nó cũng chỉ là một thực hành tốt nói chung.