
Фиксация фонового изображения в CSS достигается с помощью свойства background-attachment. Значение fixed позволяет закрепить изображение относительно окна браузера, независимо от прокрутки содержимого. Этот приём эффективен при создании параллакс-эффекта без использования JavaScript.
Для оптимальной производительности рекомендуется использовать изображения с заранее заданными размерами и форматом WebP или JPEG. Размер файлов не должен превышать 1–2 МБ для экранов высокой плотности пикселей, чтобы избежать задержек при прокрутке.
При применении фиксированного фона важно учитывать контраст с текстовым контентом. Рекомендуется использовать полупрозрачные наложения через linear-gradient или rgba, чтобы сохранить читаемость без изменения размеров изображения.
Фиксация фонового изображения совместима с большинством современных браузеров. Для кроссбраузерности стоит проверить поведение в мобильных браузерах, так как на некоторых устройствах значение fixed может интерпретироваться как scroll, требуя альтернативных решений через медиазапросы.
Использование свойства background-attachment для закрепления изображения

Свойство background-attachment управляет поведением фонового изображения при прокрутке страницы. Возможные значения: scroll, fixed и local. По умолчанию применяется scroll, когда фон движется вместе с контентом.
Значение fixed закрепляет изображение относительно окна браузера, независимо от прокрутки. Это особенно полезно для эффектов параллакса на одном уровне слоев без использования JavaScript. Пример: background-attachment: fixed; примененный к секции с высотой 100vh, сохранит фон на месте при скролле.
Значение local фиксирует фон относительно области прокрутки элемента, а не всей страницы. Оно эффективно при работе с overflow: auto; или overflow: scroll;, позволяя фону двигаться вместе с внутренним содержимым блока.
При использовании background-attachment: fixed; рекомендуется комбинировать его с background-size: cover;, чтобы изображение корректно масштабировалось на разных разрешениях. Для мобильных устройств стоит проверять поддержку, так как на некоторых браузерах fixed ведет себя нестабильно, и может потребоваться использование медиа-запросов для замены на scroll.
Для оптимизации производительности желательно использовать изображения с минимальным весом и заранее подготовленные форматы WebP или AVIF. Это снижает нагрузку на рендеринг при закреплении фонового изображения.
Применение background-attachment эффективно для дизайна лендингов, крупных баннеров и фиксированных визуальных эффектов, где важно сохранить изображение на месте вне зависимости от прокрутки контента.
Различия между значениями scroll, fixed и local

Свойство background-attachment управляет поведением фонового изображения при прокрутке контейнера. Значение scroll устанавливает стандартное поведение: фон движется синхронно с содержимым. При прокрутке страницы или блока изображение смещается вместе с текстом и элементами.
Значение fixed фиксирует фон относительно окна браузера. Изображение остаётся на месте при любой прокрутке, независимо от положения элемента. Это удобно для создания параллакса или визуального разделения блоков, но может снижать производительность при больших изображениях на мобильных устройствах.
Значение local ограничивает движение фона содержимым элемента с прокруткой. Если блок имеет overflow: auto или scroll, фон будет перемещаться только внутри этого блока. Внешняя прокрутка страницы на фон не влияет. Этот режим подходит для прокручиваемых списков или текстовых контейнеров с декоративными изображениями.
Для выбора оптимального значения учитывайте тип контента и эффект, который требуется: scroll – базовое поведение, fixed – визуальная фиксация на экране, local – фон привязан к прокрутке внутреннего блока. Комбинирование с background-position и background-size позволяет точно контролировать видимость и масштаб изображения.
Фоновое изображение на элементах с прокруткой

Для элементов с прокруткой фиксированное фоновое изображение задаётся через свойство background-attachment. Значение fixed не всегда работает внутри блоков с overflow, поэтому чаще применяют background-attachment: local или управляют позицией с помощью background-position при прокрутке.
Пример использования на блоке с вертикальной прокруткой:
.scroll-block {
width: 400px;
height: 300px;
overflow-y: scroll;
background-image: url('pattern.jpg');
background-repeat: no-repeat;
background-size: cover;
background-attachment: local;
}
При выборе способа позиционирования учитывают, что:
| Свойство | Описание | Эффект при прокрутке |
|---|---|---|
| scroll | Фон движется вместе с содержимым | Изображение смещается при прокрутке |
| fixed | Фон фиксируется относительно окна браузера | Изображение остаётся на месте, блок прокручивается поверх |
| local | Фон фиксирован относительно содержимого блока | Фон смещается вместе с прокруткой блока, но не всей страницы |
Для плавного эффекта при прокрутке можно использовать комбинацию background-position и transform: translateZ(0), что повышает производительность рендеринга и предотвращает мерцание изображения на больших блоках с overflow.
Оптимизация размеров изображения важна: рекомендуется применять background-size: cover для заполнения области и минимизировать вес файла, чтобы прокрутка оставалась плавной на мобильных устройствах.
Если требуется сложное поведение, допустимо разделять фон на несколько слоёв через background-image и управлять каждым слоем отдельно с разными значениями background-attachment и background-position.
Комбинация background-attachment с background-size и background-position

Свойство background-attachment управляет фиксацией фонового изображения относительно окна браузера или элемента. Значение fixed закрепляет изображение, что позволяет создавать эффект параллакса без использования JavaScript.
Для точного масштабирования используют background-size. При сочетании с background-attachment: fixed рекомендуется задавать значения cover или contain, чтобы изображение полностью покрывало область или сохраняло пропорции без обрезки. Например, background-size: cover; гарантирует заполнение контейнера при любых разрешениях экрана.
Свойство background-position определяет точку начала отображения изображения. При background-attachment: fixed использование center center или top center предотвращает смещение видимой части изображения при прокрутке страницы.
Пример оптимальной комбинации для фиксированного фона:
background-image: url('image.jpg'); background-attachment: fixed; background-size: cover; background-position: center center;
При работе с крупными изображениями важно учитывать производительность: fixed и cover увеличивают нагрузку на рендеринг, особенно на мобильных устройствах. В таких случаях можно применять меньший размер исходного изображения или формат WebP.
Если требуется повторение фона по оси X или Y, сочетание background-repeat с background-position позволяет фиксировать центральную часть изображения, сохраняя визуальную симметрию при прокрутке.
Для адаптивного дизайна полезно комбинировать медиазапросы с background-size и background-position, чтобы корректно отображать фиксированный фон на экранах разного размера, избегая обрезки ключевых элементов изображения.
Поддержка фиксированных фонов в мобильных браузерах

CSS-свойство background-attachment: fixed; в мобильных браузерах реализовано ограниченно. На iOS Safari до версии 13 и Android Chrome до версии 36 фиксированный фон не поддерживается корректно: при прокрутке фон ведёт себя как scroll. Это связано с аппаратной оптимизацией рендеринга и ограничением памяти при компоновке слоёв.
На современных версиях iOS и Android поддержка улучшена, однако рекомендуется использовать альтернативы для стабильного отображения. Например, вместо background-attachment: fixed; применять псевдоэлемент ::before с абсолютным позиционированием и z-index ниже контента, имитируя фиксированный фон.
Для обеспечения плавности на мобильных устройствах стоит избегать больших изображений с высоким разрешением и включать will-change: transform; на блоке с имитацией фона. Это уменьшает вероятность лагов при прокрутке и снижает нагрузку на GPU.
Альтернатива через position: fixed; для отдельного контейнера с фоном работает только на современных браузерах и может ломать адаптивную верстку. При разработке важно тестировать на реальных устройствах и учитывать различия между Android и iOS в поведении скролла.
Для кроссплатформенной совместимости часто используют сочетание background-attachment: scroll; с эффектами параллакса через JavaScript, что позволяет сохранять визуальный эффект фиксации без прямой зависимости от нативной поддержки браузера.
Приём параллакса с помощью фиксированного фона

Для создания эффекта параллакса используется свойство background-attachment: fixed;. Оно закрепляет фоновое изображение относительно окна браузера, при этом содержимое блока прокручивается поверх него.
Основные рекомендации по реализации:
- Использовать изображения с достаточным разрешением, чтобы избежать пикселизации при закреплении.
- Оптимальная высота секции: 400–800 пикселей для заметного эффекта параллакса.
- Комбинировать
background-position: center;иbackground-size: cover;для сохранения пропорций изображения на разных экранах. - Ограничивать количество секций с фиксированным фоном для улучшения производительности, особенно на мобильных устройствах.
Пример CSS для секции с параллаксом:
.section-parallax {
background-image: url('example.jpg');
background-attachment: fixed;
background-position: center;
background-size: cover;
height: 600px;
}
Тонкости и оптимизация:
- На мобильных браузерах свойство
background-attachment: fixed;может игнорироваться. В таких случаях рекомендуется использовать медиа-запросы и статическое фоновое изображение. - Добавление полупрозрачной цветовой наложки через
linear-gradientпомогает улучшить читаемость текста на фоне. - Для плавного скролла и более реалистичного параллакса можно комбинировать фиксированный фон с CSS-трансформациями блоков, создавая многослойный эффект движения.
Применение данного приёма повышает визуальную глубину страницы без использования JavaScript и сохраняет лёгкость кода.
Вопрос-ответ:
Что значит «фиксировать фоновое изображение» в CSS?
Фиксация фонового изображения означает, что картинка остаётся на месте при прокрутке страницы. Даже когда пользователь перемещается по содержимому, изображение не смещается вместе с текстом или блоками, а остаётся неподвижным на фоне. Это создаёт эффект «закреплённого фона», который часто используют для оформления заголовков, секций или фоновых блоков.
Какие свойства CSS используются для закрепления фонового изображения?
Основное свойство для этого — background-attachment. Оно может принимать значения scroll, fixed и local. Для фиксации используют fixed, что удерживает фон на месте при прокрутке. Дополнительно можно сочетать с background-position для точного расположения и background-size для масштабирования изображения по размеру блока.
Почему фоновое изображение может не фиксироваться в мобильных браузерах?
Некоторые мобильные браузеры ограничивают использование background-attachment: fixed из-за особенностей рендеринга и производительности. На маленьких экранах закрепление может работать некорректно или вовсе игнорироваться. Чтобы решить проблему, часто используют альтернативные методы, например, псевдоэлементы с абсолютным позиционированием или JavaScript для имитации фиксированного фона.
Можно ли фиксировать несколько фоновых изображений одновременно?
Да, CSS позволяет использовать несколько фонов через свойство background или отдельные свойства background-image, background-attachment и т.д. Для каждого изображения можно задать своё значение background-attachment, в том числе fixed. При этом важно правильно указывать порядок слоёв и их размеры, чтобы один фон не перекрывал другой.
Как сочетать фиксированное фоновое изображение с параллакс-эффектом?
Параллакс-эффект создаётся, когда фон движется медленнее, чем основное содержимое. С background-attachment: fixed можно добиться простого варианта параллакса, но для более сложных эффектов используют JavaScript, который отслеживает прокрутку и меняет положение фонового слоя плавно. В CSS также применяют комбинации transform и translate для анимации фоновых блоков.
