Cũ hơn Hỗ trợ trình duyệt
Nếu hỗ trợ trình duyệt cũ là điều bắt buộc, vì vậy bạn không thể đi với nhiều nguồn gốc, hoặc gradient, có lẽ bạn đang sẽ muốn làm điều gì đó như thế này trên một yếu tố phụ tùng div
:
#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 bổ sung mà lấp đầy một nửa màn hình. Kể từ khi nó cố định, nó sẽ vẫn ở vị trí ngay cả khi người dùng của bạn cuộn. Bạn có thể phải fiddle với một số z-indexes sau này, để đảm bảo các yếu tố khác của bạn là trên div nền, nhưng nó không nên quá phức tạp.
Nếu bạn gặp sự cố, chỉ cần đảm bảo phần còn lại của nội dung của bạn có chỉ mục z cao hơn yếu tố nền và bạn nên làm tốt.
Modern trình duyệt
Nếu 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 mà bạn có thể sử dụng:
Linear Gradient:
này chắc chắn là giải pháp đơn giản nhất . Bạn có thể sử dụng gradient tuyến tính trong thuộc tính nền của phần thân cho nhiều hiệu ứng khác nhau.
body {
height: 100%;
background: linear-gradient(90deg, #FFC0CB 50%, #00FFFF 50%);
}
Điều này gây ra một cắt cứng ở mức 50% cho mỗi màu, do đó không phải là một "dốc" như tên của nó. Hãy thử thử 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 Backgrounds với nền-size:
Bạn có thể áp dụng một màu nền cho các yếu tố html
, và sau đó áp dụng một background-image để các yếu tố body
và sử dụng background-size
thuộc tính để đặt nó thành 50% chiều rộng 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 các gradient 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 Ý: Chú ý rằng cả html
và body
yếu tố này được thiết lập để 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ỉ giảm theo nội dung trang của bạn. Nó cũng chỉ là một thực hành tốt nói chung.
Làm việc như một nét duyên dáng, cảm ơn! –
Ngoài ra: z-index: -1 – user956584
Cảm ơn, nó đã giúp tôi đạt được hiệu ứng này trên một bảng: http://jsfiddle.net/c9kp2pde/ –