В html фон для сайта не задают, это пишется через css-стили, но это лишь теоретическая формальность. А теперь давайте узнавать, как этот фон определять.
Фон для сайта или отдельного блока
Поскольку для осуществления этой цели нам нужен css-файл, его нужно создать и подключить к html. Об этом написано в этой статье. После этого можно приступать к работе. Во-первых, вам нужно определиться с тем, чему вы хотите задать фон. Если всей странице в целом, то сделать это можно так:
Body{
Background-color: white;
}
То есть мы обращаемся к тегу body
, который представляет всю нашу страничку. Для задания цвета фона используется свойство background-color
. Но что, если вам нужно задать в качестве фона рисунок, а не сплошной цвет? Тогда стоит написать так:
Body{
Background-image: url(путь к рисунку.расширение рисунка)
}
Для наглядности я предлагаю рассмотреть все подробнее на примере. Для этого я буду использовать такую картинку:
Например, background-image: url(comp.png)
. В этом примере мы задали фоновую картинку с именем comp (именно так я ее назвал) формата png, которая лежит в той же папке, что и css-файл.
В html создам произвольный блок с конкретными размерами, чтобы на нем демонстрировать работу css-свойств.
<body> <div id = "ct"></div> </body>
И вот для него стили:
#ct{
Background-image: url(comp.png);
width: 600px;
height: 400px;
}
Вот что у нас получилось:
Почему так? Дело в том, что по умолчанию браузер повторяет картинку столько раз, чтобы полностью заполнить блок. Иногда так и нужно, например, при использовании бесшовных орнаментов, но в нашем случае должна быть одна картинка. К счастью, этим можно очень легко управлять.
Повторение фона
Если у вас картинка в качестве фона, то по умолчанию она будет повторяться по горизонтали и вертикали, чтобы заполнить все пространство страницы. Чтобы это убрать, используется свойство background-repeat и его значение no-repeat
(не повторять). Также есть такие значения:
- Repeat-x – повторять только по горизонтали
- Repeat-y – только по вертикали
Допишем в свойства нашему графическому фону:
background-repeat: no-repeat;
Позиция
Свойство background-position
определяет место, где будет находиться картинка. Здесь задается два значения – по горизонтали и вертикали. Примеры: background-position: right bottom
– позиция в правом нижнем углу, top-left
– в нижнем верхнем (и так по умолчанию), 250px 500px – смещение от левого верхнего угла вправо на 250 пикселей и вниз на 500.
Давайте лучше посмотрим на примерах:
background-position: top right;
Картинка переместиться в верхний правый край. Я дал блоку также желтый фон, чтобы были видны его края.
background-position: 50% 50%;
Изображение появилось ровно по центру в своем блоке. Да-да, такое тоже возможно благодаря процентной записи позиции.
background-position: 70% 20%;
Фон смещен на 70% по горизонтали, и на 20 по вертикали.
Разрешается также в пикселях задавать отрицательное значение позиции. Это допустимо делать, например, когда вы используете большую картинку-спрайт и нужно поставить в блок нужную часть этого спрайта.
Закрепление фона
Еще мне очень нравится одно свойство, которое называется background-attachment
. У него есть всего два значения и первое стоит по умолчанию (scroll
). Это означает, что при прокрутке страницы фон тоже будет прокручиваться, а если вы используете картинку без повторений, то в конце концов она закончиться и дальше пойдет просто сплошной цвет.
Чтобы этого не случилось, прописывается background-attachment: fixed
и теперь наш фон надежно зафиксирован на месте. Это можно сравнить с тем, как блоку определить фиксированное позиционирование и он не будет исчезать со страницы при ее прокрутке.
Сокращенная запись всего этого добра
Мы с вами разобрали много свойств, которые позволяют сделать фон, но если их все применять, то получается громоздкая запись. Есть очень элегантное решение. Свойство background позволяет через пробел записать нужные настройки в таком порядке:
Background: цвет изображение повторение закрепление позиция;
И теперь все можно записать так:
background: yellow url(comp.png) no-repeat 20% 100px;
Если какое-то свойство определять не нужно, то оно просто опускается (в нашем случае мы не записали background-attachment).
Много фонов
А что делать, если вам нужно несколько фоновых картинок? Бывает, что ж поделать. Сегодня css поддерживает такую возможность. Давайте и мы попробуем. Возьмем такую иконку
Я назвал ее laptop.
И вот код для вставки мультифона:
background: url(comp.png) no-repeat 20% 100px,
url(laptop.png) no-repeat 50% 50%;
background-color: yellow;
Как видите, достаточно всего лишь поставить запятую после первого изображения и прописать настройки для второго. Сплошной цвет в этом случае лучше задать отдельно.
Таким же образом можно записать еще сколько угодно картинок, но не переусердствуйте – слишком много графики это не очень хорошо.
Вот на этом мне бы хотелось закончить эту статью. С фоном можно делать еще много других интересных вещей, о них постараюсь писать в будущем (а кое-что уже написал – например, здесь). Успешного вам изучения этого свойства.