Несколько фоновых рисунков

Опубликовано:

Влад Мержевич

Фоновые рисунки довольно часто применяются в вёрстке сайтов и оформлении элементов из-за своих широких возможностей по настройке. Вместе с тем правило, что для каждого элемента может быть только один фон порождало сложные вложенные конструкции, цель которых лишь в добавлении пустых элементов с фоновым рисунком. Гораздо проще использовать один элемент и установить для него необходимое количество фоновых изображений, перечисляя их через запятую.

Давайте рассмотрим пример, когда на веб-странице используется два вертикальных фона. Раньше для этой задачи фоновый рисунок добавлялся к селектору body и html, при этом ещё и надо установить высоту страницы 100%. Теперь гораздо проще, добавляем фоновые рисунки только к селектору body, как показано в примере 1.

Пример 1. Фон на веб-странице

HTML5CSS3IE 8IE 9Cr 13Op 11Sa 5Fx 7

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Двойной фон</title>
  <style>
   body {
    background: url(images/pattern-left.png) repeat-y, 
                url(images/pattern-right.png) 100% 0 repeat-y;
    margin: 10px 100px;
   }
  </style>
 </head>
 <body>
  <p>Типичная европейская буржуазность и добропорядочность 
  изящно иллюстрирует официальный язык.</p>
 </body>
</html>

Результат данного примера показан на рис. 1.

Веб-страница с двумя фоновыми картинками

Рис. 1. Веб-страница с двумя фоновыми картинками

Двойной фон не обязательно использовать исключительно с изображениями, это можно сделать и с градиентами. Разумеется, эффект будет заметен только при прозрачном или полупрозрачном цвете. В примере 2 применяется свойство linear-gradient с префиксами для разных браузеров. Первый фон располагается под углом 45º и состоит из прозрачной и полупрозрачной зелёной полосы. Второй фон содержит те же самые цвета, но располагается под углом -45º. За счёт наложения одного фона на другой по центру веб-страницы появляется цепочка повёрнутых квадратиков.

Пример 2. Градиенты в качестве фона

HTML5CSS3IE 9IE 10Cr 13Op 11Sa 5.1Fx 7

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Градиент</title>
  <style>
   body {
    /* Для Firefox 3.6+ */
    background: -moz-linear-gradient(45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2)), 
                -moz-linear-gradient(-45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2));
    /* Для Opera 11.10+ */
    background: -o-linear-gradient(45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2)), 
                -o-linear-gradient(-45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2));
    /* Для Safari 5.1 и Chrome 10+ */
    background: -webkit-linear-gradient(45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2)), 
                -webkit-linear-gradient(-45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2)); 
    /* Для IE 10 */
    background: -ms-linear-gradient(45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2)), 
                -ms-linear-gradient(-45deg, transparent 50%, rgba(0,186,0,0.2) 50%, rgba(0,186,0,0.2));
   }
  </style>
 </head>
 <body>
  <p>Типичная европейская буржуазность и добропорядочность 
  изящно иллюстрирует официальный язык.</p>
 </body>
</html>

Результат данного примера показан на рис. 2.

Веб-страница с двумя градиентами

Рис.2. Веб-страница с двумя градиентами

Другие статьи по теме

Два фона и больше

В CSS 2 добавить одновременно два фона к одному элементу нереально, поэтому приходится вкладывать один элемент внутрь другого и для каждого задавать свой собственный фоновый рисунок. Для сложных макетов таких вложений иной раз можно насчитать около десятка. Понятно, что ни к чему хорошему такое нагромождение не приводит, но что делать? Оказывается, есть что! В CSS 3 можно одновременно добавлять несколько фоновых рисунков для любого элемента. Так что берем рисунок блока (рис. 1), режем его на части и начинаем тестировать в браузерах.

Как добавить два фоновых изображения к одному элементу?

Фоновые картинки достаточно активно используются для создания блоков, поскольку с их помощью формируется самый причудливый дизайн. В частности, можно добавлять к элементу скругленные уголки, декоративные вертикальные и горизонтальные линии, а также многое другое.

Как добавить две фоновые картинки на веб-страницу?

Добавление одновременно двух фоновых изображений обычно продиктовано дизайном веб-страницы. При этом, как правило, один фон повторяется по горизонтали или вертикали, а второй фон выводится без всякого повторения. Впрочем, подобные детали зависят целиком и полностью от воли дизайнера, поэтому рассмотрим универсальную технологию добавления двух фоновых картинок.

фон