Несколько фонов!
body {
background: #eb01a5;
background-image: url("IMAGE_URL"); /* fallback */
background-image: url("IMAGE_URL"), linear-gradient(#eb01a5, #d13531); /* W3C */
}
Эти 2 строки являются запасными для любого браузера, который не делает градиенты.
См. Примечания для укладки изображений только IE <9 ниже. </p>
- Строка 1 устанавливает плоский цвет фона.
- Строка 2 устанавливает запасной вариант фонового изображения.
Последняя строка устанавливает фоновое изображение и градиент для браузеров, которые могут их обрабатывать.
- Строка 3 предназначена для всех относительно современных браузеров.
Практически все современные браузеры поддерживают несколько фоновых изображений и CSS-фонов. Смотрите http://caniuse.com/#feat=css-gradients для поддержки браузера. Хороший пост о том, почему вам не нужны несколько префиксов браузера, см. http://codepen.io/thebabydino/full/pjxVWp/
Стек слоев
Следует отметить, что первое определенное изображение будет самым верхним в стеке. В этом случае изображение находится на вершине градиента.
Для получения дополнительной информации о фоновом наложении см. http://www.w3.org/TR/css3-background/#layering.
ТОЛЬКО для укладки изображений (в декларации нет градиентов) Для IE <9 </strong>
IE9 и выше могут складывать изображения таким же образом. Вы можете использовать это для создания градиентного изображения для ie9, хотя лично я бы не стал. Однако следует отметить, что при использовании только изображений, т. Е. <9 будет игнорировать резервный оператор и не будет отображать никаких изображений. Это не происходит, когда градиент включен. Чтобы использовать одно резервное изображение в этом случае, я предлагаю использовать замечательный <a href="http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/" rel="noreferrer"> Условный HTML-элемент Пола Айриша вместе с вашим резервным кодом:
.lte9 #target{ background-image: url("IMAGE_URL"); }
Положение фона, размеры и т. Д.
Другие свойства, которые будут применяться к одному изображению, также могут быть разделены запятыми. Если указано только 1 значение, оно будет применено ко всем сложенным изображениям, включая градиент. background-size: 40px;
ограничит как изображение, так и градиент до 40px высоты и ширины. Однако использование background-size: 40px, cover;
сделает изображение 40px, а градиент покроет элемент. Чтобы применить настройку только к одному изображению, установите значение по умолчанию для другого: background-position: 50%, 0 0;
или браузеры, которые его поддерживают , используйте initial
: background-position: 50%, initial;
Вы также можете использовать сокращение фона, однако это удаляет запасной цвет и изображение.
body{
background: url("IMAGE_URL") no-repeat left top, linear-gradient(#eb01a5, #d13531);
}
То же самое относится к background-position, background-repeat и т. Д.