Самоучитель CSS Справочник CSS Селекторы Стили по умолчанию Цвета CSS Единицы измерения

CSS: Фон

CSS свойства background используются для создания эффектов на заднем
фоне страницы.

Список свойств для стилизации заднего фона, которые будут
рассмотрены ниже:

  • background-color
  • background-image
  • background-repeat
  • background-position

Добавление фонового изображения

Следующие правила добавляют цвет фона и фоновое изображение к элементу <body>. Затем мы задаем для элемента <div> (с классом wrapper) белый цвет фона:

body {
  background-color: #333;
  background-image: url('image.png');
}
.wrapper {
  width: 80%;
  margin: 20px auto 40px auto;
  background-color: #fff;
  color: #333;
}
Попробовать »

Свойство background-color просто добавляет цвет фона на страницу или к определенному элементу. Мы использовали в примере background-color, чтобы установить фоновый цвет для элемента <body> и внутри элемента <div>. Если бы цвет фона для элемента <div> не был бы установлен, то в качестве фона был бы показан фон, который установлен для <body>, так как по умолчанию все элементы имеют прозрачный фон.

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

Если возникает вопрос зачем устанавливать цвет фона, когда используется фоновое изображение, то на него можно легко ответить: если по каким-либо причинам фоновое изображение не может быть загружено на страницу, в этом случае будет отображаться цвет фона.

Повтор фонового изображения

По умолчанию фоновое изображение повторяется по вертикали и по горизонтали заполняя таким образом все доступное пространство в элементе. Повтор фонового изображения можно переопределить с помощью свойства background-repeat, рассмотрим его возможные значения:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Название документа</title>
    <style>
      body {
        background-image: url('img_tree.png');
        background-repeat: no-repeat;
        padding-left: 200px; /*отступ от левого края равный ширине картинки*/
      }
    </style>
  </head>

  <body>

    <h1>Украсим страничку фоновым изображением!</h1>
    <p>При добавлении изображения к фону элемента, текст может наехать на него, что может 
    испортить впечатление от страницы. Для того, чтобы этого не случилось, для всех 
	 элементов был добавлен отступ от левого края, равный ширине картинки.</p>

  </body>
</html>
Попробовать »

Позиционирование фонового изображения

По умолчанию фоновое изображение располагается в верхнем левом углу окна браузера или элемента-контейнера. Если фоновое изображение не повторяется (background-repeat: no-repeat;) или должно повторяться с определенного места, то можно использовать свойство background-position, чтобы указать в каком месте окна браузера или элемента оно должно быть размещено. Это свойство обычно принимает два значения, разделяемые пробелом. Первое значение - положение по горизонтали, второе - по вертикали.

Свойство background-position может принимать в качестве значений ключевые слова: left, top, center, right и bottom. Вы можете использовать любую комбинацию ключевых слов:

body {
  background-image: url('img_flwr.png');
  background-repeat: no-repeat;
  background-position: bottom right;
  padding-right: 230px; /*отступ от правого края равный ширине картинки*/
}
Попробовать »

Если будет указано только одно значение, то по умолчанию вторым значением будет center:

background-position: right;

это то же самое что и:

background-position: right center;

Вы также можете использовать в качестве значений пиксели или проценты. Они определяют расстояние от верхнего левого угла окна браузера (или элемента-контейнера). Верхний левый угол соответствует значению 0% 0%.

Фиксация фонового изображения

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

Так как по умолчанию задний фон прокручивается вместе с содержимым, то в качестве примера мы зафиксируем наше фоновое изображение на одном месте с помощью значения fixed:

body {
  background-image: url('image.png');
  background-repeat: no-repeat;
  background-position: right top;
  background-attachment: fixed;
}
Попробовать »

Объединение свойств

Можно получить тот же самый результат, что и в предыдущем примере, но с меньшим количеством строк кода. Для этого используется свойство background, которое позволяет установить значения свойств background-color, background-image, background-repeat, background-attachment, и background-position в объявлении всего одного свойства:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Название документа</title>
    <style>
      body {
        background: white url('img_tree.png') no-repeat fixed right top;
        padding-right: 200px;
      }
    </style>
  </head>

  <body>

    <h1>Объединим свойства background в одно объявление!</h1>
    <p>Объединение нескольких свойств в одно может значительно сократить ваш CSS-код, 
    при этом никаких изменений во внешнем виде страницы не произойдет. Свойства, которые 
    возможно объединять в одно объявление, вы можете посмотреть в нашем справочнике по CSS.
	</p>

  </body>
</html>
Попробовать »

Несколько фоновых изображений

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

div {
  height: 360px;
  width: 400px;
  border: 3px solid #333;
  background: url('../img_flwr.gif') bottom right no-repeat,
              url('../img_tree.gif') repeat-x;
}
Попробовать »

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

Стоит отметить, что порядок указания картинок имеет важное значение. Первое добавляемое изображение будет отображаться над всеми остальными, последнее под всеми остальными фоновыми изображениями. Мы можем увидеть как это работает, если первым фоновым изображением задать картинку, которая не имеет прозрачных областей, в этом случае она будет перекрывать все остальные картинки, заданные для фона:

div {
  height: 360px;
  width: 400px;
  border: 3px solid #333;
  background: url('../image.png'),
              url('../img_flwr.gif') bottom right no-repeat,
              url('../img_tree.gif') repeat-x;
}
Попробовать »

Если переставить наши картинки местами, сделав первую последней в списке, то она будет отображаться под всеми остальными изображениями, задавая основной фон для элемента:

div {
  height: 360px;
  width: 400px;
  border: 3px solid #333;
  background: url('../img_flwr.gif') bottom right no-repeat,
              url('../img_tree.gif') repeat-x,
			  url('../image.png');
}
Попробовать »
    
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь