фиксация фона — учебник CSS
По умолчанию, когда вы скроллите веб-страницу с фоном, фон прокручивается вместе с другими элементами. Иногда это уместно, а иногда хочется, чтобы изображение, заданное через background-image
, всегда оставалось на виду. Для управления этим состоянием существует свойство background-attachment
.
Значения background-attachment
Свойство может принимать три значения для настройки поведения фона:
scroll
(значение по умолчанию) — фоновое изображение перемещается вместе с другими элементами при скролле веб-страницы.fixed
— значение фиксирует фоновое изображение, делая его нечувствительным к скроллу. При прокручивании страницы фон на заднем плане останется неподвижным.local
— данное значение было добавлено из-за того, что в случае с локальным скроллом фон со значением scroll ведет себя как fixed. При значении local фон прокручивается вместе с содержимым элемента, и не прокручивается, если содержимое не скроллится (но прокручивается вместе с самим элементом).
Для лучшего понимания работы свойства взгляните на примеры ниже. Чтобы вы могли их сравнить, ваш браузер должен поддерживать все три значения background-attachment (надеемся, что при изучении CSS вы пользуетесь современным десктопным браузером!).
background-attachment: scroll
background-attachment: fixed
background-attachment: local
Поддержка браузерами
Полная поддержка всех значений свойства background-attachment
есть у десктопных браузеров IE9+, Edge 12+, Firefox 25+, Chrome (все версии), Safari 5+, Opera 11.5+. Из мобильных браузеров все значения понимают Opera Mobile, Firefox для Android, IE Mobile и QQ Browser. В других браузерах поддержка либо частичная, либо отсутствует.
Далее в учебнике: свойства background-origin и background-clip для позиционирования фоновых изображений и управления обрезкой.
Свойство background-attachment | CSS справочник
CSS свойстваОпределение и применение
CSS свойство background-attachment устанавливает поведение фонового изображения во время прокрутки страницы. По умолчанию изображение прокручивается с остальной частью страницы, но допускается также зафиксировать фон относительно уровня просмотра.Подробную информацию о работе с задним фоном элементов Вы можете найти в следующей статье учебника:
Поддержка браузерами
CSS синтаксис:
background-attachment: "scroll | fixed | local | initial | inherit";
JavaScript синтаксис:
object.style.backgroundAttachment = "scroll"
Значения свойства
Значение | Описание |
---|---|
scroll | Задний фон прокручивается вместе с элементом. Значение по умолчанию. |
fixed | Фон фиксируется относительно уровня просмотра. |
local | Фон позиционируется относительно содержимого элемента (прокручивается когда прокручивается элемент). |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Указывает, что значение наследуется от родительского элемента. |
Версия CSS
CSS1Наследуется
Нет.Анимируемое
Нет.Пример использования
<!DOCTYPE html> <html> <head> <title>Пример использования свойства background-attachment</title> <style> .primerFixed { height:400px; /* высота элемента */ background-image:url('/images/smile.png'); /* путь к фоновому изображению */ background-attachment:fixed; /* фон фиксируем относительно уровня просмотра */ background-position:center; /* позиционируем фоновое изображение */ background-repeat:no-repeat; /* отключаем повтор фонового изображения по осям */ } </style> </head> <body> <div class = "primerFixed"></div> <div style = "height:600px"></div> </body> </html>
В этом примере мы создали два блочных элемента <div>, к первому элементу мы применили стили, которые позволяют указать высоту блока (свойство height), фоновое изображение (background-image), указать, что оно будет статическим (background-attachment), спозиционировать его по центру (background-position) и отключить повторение фонового изображения по осям X и Y (background-repeat). Обращаю Ваше внимание, что вы можете указать все свойства для фона элемента в одном объявлении с использованием универсального свойства background).
Второй элемент представляет из себя пустой блок высотой 600px, он позволит нам продемонстрировать параллакс эффект за счёт прокрутки страницы. Обратите внимание, что наше изображение (первый блок) остается на одном месте и не прокручивается вместе со страницей.
Результат нашего примера (прокрутите страницу вниз для демонстрации):
CSS свойстваbackground-attachment | CSS справочник
Поддержка браузерами
12.0+ | 4.0+ | 1.0+ | 1.0+ | 3.5+ | 1.0+ |
Описание
CSS свойство background-attachment устанавливает, будет ли фоновое изображение прокручиваться вместе с содержимым элемента.
Допускается указывать несколько значений для ряда фоновых изображений, перечисляя их через запятую. Каждое новое значение применяется к соответствующему фоновому изображению в том порядке, который определён в свойстве background-image.
Значение по умолчанию: | scroll |
---|---|
Применяется: | ко всем элементам, а также к псевдо-элементам ::first-letter и ::first-line |
Анимируется: | нет |
Наследуется: | нет |
Версия: | CSS1 |
Синтаксис JavaScript: | object.style.backgroundAttachment=»fixed» |
Синтаксис
background-attachment: scroll|fixed|local|inherit;
Значения свойства
Значение | Описание |
---|---|
scroll | Фоновое изображение фиксируется по отношению к самому элементу и не прокручивается вместе с его содержимым, т.е. если элемент имеет прокрутку, то изображение остаётся на месте. Если страница имеет прокрутку, то фоновое изображение прокручивается вместе с элементом. |
fixed | Фоновое изображение фиксируется по отношению к области просмотра окна браузера, поэтому фон остаётся не подвижным при прокрутке содержимого страницы и/или содержимого элемента. Примечание: фиксированное фоновое изображение располагается относительно верхнего левого угла области просмотра окна браузера, а не элемента. |
local | Фоновое изображение фиксируется по отношению к содержимому элемента, т.е. если элемент имеет прокрутку, фоновое изображение прокручивается вместе с содержимым элемента. |
Пример
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Название документа</title> <style> body { height: 1000px; margin: 0; } div { width: 300px; height: 200px; margin-bottom: 10px; overflow: auto; } #scroll { background: #00ff00 url('cogs.png') no-repeat scroll; } #local { background: #00ff00 url('cogs.png') no-repeat local; } #fixed { background: #00ff00 url('cogs.png') no-repeat fixed; } </style> </head> <body> <div>scroll<br>scroll<br>scroll<br>scroll<br> scroll<br>scroll<br>scroll<br>scroll<br>scroll<br>scroll<br> scroll<br>scroll<br>scroll<br>scroll<br>scroll<br>scroll<br> scroll<br>scroll<br>scroll<br>scroll<br></div> <div>fixed<br>fixed<br>fixed<br>fixed<br>fixed<br> fixed<br>fixed<br>fixed<br>fixed<br>fixed<br>fixed<br> fixed<br>fixed<br>fixed<br>fixed<br>fixed<br>fixed<br> fixed<br>fixed<br>fixed<br></div> <div>local<br>local<br>local<br>local<br>local<br> local<br>local<br>local<br>local<br>local<br>local<br> local<br>local<br>local<br>local<br>local<br>local<br> local<br>local<br>local<br></div> </body> </html>
Свойство background-position | CSS справочник
CSS свойстваОпределение и применение
CSS свойство background-position задает положение (позицию) фонового изображения. По умолчанию, фоновое изображение размещается в верхнем левом углу элемента и повторяется по вертикали и горизонтали.
Поддержка браузерами
CSS синтаксис:
background-position:"значение";
JavaScript синтаксис:
object.style.backgroundPosition="center"
Значения свойства
Значение | Описание |
---|---|
left top left center left bottom right top right center right bottom center top center center center bottom | Задает положение изображения. Первое значение-горизонтальное положение, а второе значение вертикальное. Если вы указываете только одно ключевое слово, другое значение будет «center» |
x% y% | Задает положение изображения. Первое значение-горизонтальное положение, а второе значение вертикальное. Левый верхний угол имеет 0% 0% (это значение по умолчанию). В правом нижнем углу 100% 100%. Если указано только одно значение, то другое значение будет 50%. |
x y | Задает положение изображения. Первое значение-горизонтальное положение, а второе значение вертикальное. Левый верхний угол имеет 0 0. Значения могут быть в пикселях, или других единицах измерения CSS. Если указано только одно значение, то другое значение будет 50%. Вы можете совместно использовать проценты и единицы измерения. |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Указывает, что значение наследуется от родительского элемента. |
Версия CSS
CSS1Наследуется
Нет.Анимируемое
Да.Пример использования
<!DOCTYPE html> <html> <head> <title> Свойство background-position </title> <style>Пример использования свойства background-position.CSS свойства.primer { background-image:url("smile.png"); /* задаём изображение для заднего фона */ background-position:center; /* задаём положение изображения */ background-repeat:repeat-y; /* повторяем изображение вертикально */ background-color:khaki; /* задаём цвет заднего фона */ height:300px; width:300px; } </style> </head> <body> <div class = "primer"></div> </body> </html>
background-position-x | CSS | WebReference
Задаёт положение фонового изображения внутри элемента по горизонтали. Если для элемента установлено несколько фоновых изображений, то можно изменять положение каждого изображения, перечисляя значения через запятую.
Краткая информация
Значение по умолчанию | left |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам |
Анимируется | Да |
Синтаксис ?
background-position-x: [ left | center | right | <проценты> | <размер> ]#
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Значения
- left
- Выравнивает фон по левому краю. Эквивалент записи 0 или 0%.
- center
- Выравнивает фон по центру горизонтали. Эквивалент записи 50%.
- right
- Выравнивает фон по правому краю. Эквивалент записи 100%.
- <проценты>
- Задаёт положение фона в процентах от ширины элемента. Значение 0% или 0 выравнивает левый край фонового изображения по левому краю элемента. Значение 100% выравнивает правый край рисунка по правому краю элемента.
- <размер>
- Задаёт положение фона в любых доступных для CSS единицах — пиксели (px), сантиметры (cm), em и др. относительно левого края элемента.
Пример
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>background-position-x</title>
<style>
.clock {
background: url(/example/image/clock-sprite.png) no-repeat;
width: 128px;
height: 128px;
}
.clock:hover {
background-position-x: 100%;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
В данном примере при наведении курсора мыши на рисунок, фоновая картинка смещается по горизонтали, показывая цветной рисунок вместо чёрно-белого.
Объектная модель
Объект.style.backgroundPositionX
Спецификация ?
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
×Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 27.08.2017
Редакторы: Влад Мержевич