⑤ Позиционирование изображений: свойство background-position
Продолжим изучение темы CSS - фон. Если пропустили прошлые статьи, то вот ссылки на них:
- ① Базовый цвет: свойство background-color
- ② Источник изображения: свойство background-image
- ③ Укладка изображений: свойство background-repeat
- ④ Фиксация изображения: свойство background-attachment
Если для элемента заданы фоновые изображения, свойство background-position
указывает их начальное положение (после любого изменения размера) в соответствующей области расположения фона.
Свойство не наследуется.
background-position
Значения:
%
- Горизонтальное смещение вычисляется по формуле ширина области расположения фона — ширина фонового изображения. Вертикальное смещение по формуле высота области расположения фона - высота фонового изображения, где размер изображения — это размер, заданный свойствомbackground-size
. Значение по умолчанию0%
.- длина - Значение длины дает фиксированную длину в качестве смещения.
left
- Вычисляет до0%
для горизонтальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно левого края.center
- Вычисляет вleft 50%
для горизонтального положения, если не указано иное горизонтальное положение, или какtop 50%
для вертикального положения, если оно задано.right
- Вычисляет в100%
для горизонтального положения, если задано одно или два значения, в противном случае смещение происходит относительно правого края.top
- Вычисляет в0%
для вертикальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно верхнего края.bottom
- Вычисляет в100%
для вертикальной позиции, если задано одно или два значения, в противном случае смещение происходит относительно нижнего края.initial
- Устанавливает значение свойства в значение по умолчанию.inherit
- Наследует значение свойства от родительского элемента.
Синтаксис
CSS
background-position: top; background-position: bottom; background-position: left; background-position: right; background-position: center; background-position: 25% 75%; background-position: 0 0; background-position: 1cm 2cm; background-position: 10ch 8em; background-position: 0 0, center; background-position: bottom 10px right 20px; background-position: right 3em bottom 10px; background-position: bottom 10px right; background-position: top right 10px; background-position: inherit; background-position: initial;
Если указано только одно значение, второе значение считается center
. Если заданы два значения в единицах длины или %
, то первое значения представляет горизонтальную позицию, второе — вертикальную. Значения в единицах длины или %
представляют смещение верхнего левого угла фонового изображения от верхнего левого угла области расположения фона.
Пара ключевых слов может быть переупорядочена, в то время как комбинация ключевого слова и длины или процента не может. Например, center left
— допустимое значение, а 50% left
— нет.
Если заданы три или четыре значения в единицах длины или %
, то перед каждым значением должно стоять ключевое слово, которое указывает, от какого края дается смещение. Если даны три значения, недостающее смещение считается равным нулю.
Положительные значения смещают внутрь от края области расположения фона. Отрицательные значения смещают наружу от края области расположения фона.
Можно задать фоновую картинку так, чтобы она располагалась только по низу блока:
CSS
div { background-color: #FCF8F7; height: 120px; background-image: url(https://html5book.ru/images/flower112.png); background-position: left bottom; background-repeat: repeat-x; }
Также благодаря свойству позиционирования, для одного блока можно использовать несколько фоновых изображений:
CSS
div { width: 660px; background-color:#E0E4EF; height: 300px; background-image: url(https://html5book.ru/images/flower112.png), url(https://html5book.ru/images/leaf112.png), url(https://html5book.ru/images/flower221.png); background-repeat: repeat-x; background-position: 0 250px, 0 150px, 0 98px; }
Продолжение в следующей статье!