Старіша підтримка браузера
Якщо підтримка старшого веб-переглядача є обов'язковою, тому ви не можете перейти з декількома фонами або градієнтами, ви, ймовірно, захочете зробити щось подібне на запасному div
елементі:
#background {
position: fixed;
top: 0;
left: 0;
width: 50%;
height: 100%;
background-color: pink;
}
Приклад: http://jsfiddle.net/PLfLW/1704/
У рішенні використовується додатковий фіксований div, який заповнює половину екрана. Оскільки це зафіксовано, він залишатиметься в положенні навіть тоді, коли ваші користувачі прокручують. Можливо, вам доведеться пізніше поспілкуватися з деякими z-індексами, щоб переконатися, що ваші інші елементи знаходяться над фоновим поділом, але це не повинно бути занадто складним.
Якщо у вас є проблеми, просто переконайтеся, що в решті вмісту z-індекс вищий, ніж у фонового елемента, і вам слід погодитися.
Сучасні браузери
Якщо нові веб-переглядачі є вашою проблемою, є кілька інших методів, якими ви можете скористатися:
Лінійний градієнт:
Це, безумовно, найпростіше рішення. Ви можете використовувати лінійний градієнт у фоновій властивості тіла для різних ефектів.
body {
height: 100%;
background: linear-gradient(90deg, #FFC0CB 50%, #00FFFF 50%);
}
Це спричиняє жорстке обрізання на 50% для кожного кольору, тому немає "градієнта", як випливає з назви. Спробуйте експериментувати з "50%" частиною стилю, щоб побачити різні ефекти, яких можна досягти.
Приклад: http://jsfiddle.net/v14m59pq/2/
Кілька фонів з розміром фону:
Ви можете застосувати колір html
елемента до елемента, а потім застосувати фонове зображення до body
елемента та використовувати background-size
властивість, щоб встановити його на 50% від ширини сторінки. Це призводить до подібного ефекту, хоча воно справді буде використано лише для градієнтів, якщо ви випадково використовуєте зображення або два.
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;
}
Приклад: http://jsfiddle.net/6vhshyxg/2/
ДОПОМОГА: Зауважте, що в останніх прикладах html
і body
елементи, і елементи встановлені height: 100%
. Це робиться для того, щоб навіть якщо ваш вміст менше сторінки, фон буде не менше висоти вікна перегляду користувача. Без явної висоти фоновий ефект знизиться лише на вміст сторінки. Це також просто хороша практика взагалі.