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>

Попробовать »

Скроллируемые тени на чистом CSS при помощи background-attachment: local — CSS-LIVE

Несколько дней назад невероятно талантливый Роман Комаров опубликовал свой эксперимент «Скроллируемые тени» на чистом CSS. Если вы используете Google Reader вы, вероятно, знакомы с этим эффектом:

 

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

Когда я увидела демо Романа, мне стало интересно возможно ли добиться того же эффекта без дополнительных контейнеров (включая псевдоэлементы). И, похоже, это идеальный случай для использования background-attachment: local. На самом деле, это был единственный реальный вариант использования этого правила, который я когда либо видела.

«background-attachment… что? Я знаю только scroll и fixed!»

scroll и fixed были единственными значениями для background-attachment во времена CSS 2.1. scroll — это дефолтное значение, которое позиционирует фоновое изображение относительно элемента, которому оно назначено, в то время как fixed позиционирует его относительно области просмотра (viewport), в результате чего бекграунд остается на месте, в то время когда страница прокручивается. Как результат этих определений, в случае если скроллируемой была только часть страницы (например, <div> с overflow: auto), его бекграунд не прокручивался когда прокручивался сам контейнер.

В модуле CSS, посвященному границам и фоновым изображениям Backgrounds & Borders Level 3 было добавлено новое значение, чтобы снять это ограничение: local. Когда применяется background-attachment: local фоновое изображение позиционируется относительно содержимого элемента. В результате этого оно прокручивается когда прокручивается элемент. Это не новая фича, она была нам доступна со времен первых черновиков Backgrounds & Borders 3 в 2005 году (конечно, реализация заняла некоторое время, так что можно считать, что с 2009).

Если вам все еще не понятно как это работает, поиграйте немного с этим кодом, который демонстрирует работу всех трех значений (естественно ваш браузер должен поддерживать все три):

«Хорошо, я понял. Вернитесь к скроллируемым теням пожалуйста?»

Основная идея заключалась в том, чтобы превратить эти абсолютно позиционированные псевдоэлемнты в фоновые слои, к которым применено правило background-attachment: local. Я попробовала это, это сработало и помогло довольно сильно сократить код. Вот как выглядит

CSS:

Недостаток этого подхода в том, что мы немного понижаем кроссбраузерность. Оригинальный эксперимент Романа мог работать даже в IE8, если заменить градиенты картинками (градиенты не влияют на функциональность). Когда вы полагаетесь на background-attachment: local, вы сужаете поддержку браузерами до IE9+, Safari 5+, Chrome и Opera. Firefox оказался самым явным прогульщиком из этого списка, вы можете проголосовать за баг #483446, если вы заинтересованны в том, чтобы они реализовали это.

Тем не менее, поддержка браузерами не очень важна, т.к. эффект очень изящно деградирует. В браузерах, не поддерживающих этот метод, вы просто не увидите теней 😉

Перевод статьи Pure CSS scrolling shadows with background-attachment: local автор Lea Verou

P.S. Это тоже может быть интересно:

HTML DOM Style backgroundAttachment Property

❮ Предыдущий ❮ Справочник по объектам стиля Далее ❯

Пример

Установить фоновое изображение, которое будет фиксированным (не будет прокручиваться):

document. body.style.backgroundAttachment = «fixed»;

Попробуйте сами »

Другие примеры «Попробуйте сами» ниже.


Определение и использование

Свойство backgroundAttachment устанавливает или возвращает, должно ли фоновое изображение прокручиваться вместе с содержимым или быть фиксированным.

См. также:

Стили HTML: Свойство фона

Учебник CSS: Фоны CSS

Справочник по CSS: Свойство CSS background-attachment


Синтаксис

Возвращает свойство объекта backgroundAttachment:

.3 .

backgroundAttachment

Установить свойство backgroundAttachment:

object .style.backgroundAttachment = «scroll|fixed|local|initial|inherit»


Значения свойств

Значение Описание
свиток Фон прокручивается вместе с элементом. Это по умолчанию
фиксированный Фон фиксирован относительно области просмотра
местный Фон прокручивается вместе с содержимым элемента
начальный Устанавливает для этого свойства значение по умолчанию. Читать о начальный
унаследовать Наследует это свойство от родительского элемента. Читать о унаследовать

Технические детали

Значение по умолчанию: свиток
Возвращаемое значение: Строка, представляющая, как фоновое изображение прикрепляется к объекту в документе
Версия CSS CSS1


Поддержка браузера

backgroundAttachment — это функция CSS1 (1996).

Полностью поддерживается во всех браузерах:

Хром Край Фаерфокс Сафари Опера ИЭ
Да Да Да Да Да Да

Другие примеры

Пример

Выбор между прокруткой и локальным элементом DIV:

document. getElementById(«myDIV»).style.backgroundAttachment = «local»;

Попробуйте сами »

Пример

Переключение между прокруткой и фиксацией:

let x = document.body.style.backgroundAttachment;
document.body.style.backgroundAttachment = (x == «прокрутка»)? «исправлено»: «прокрутка»;

Попробуйте сами »

Пример

Вернуть значение свойства background-attachment:

let back = document.body.style.backgroundAttachment;

Попробуйте сами »

❮ Предыдущая ❮ Справочник по объектам стиля Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

Лучшие ссылки
HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.
CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference

9 Top0 Examples Примеры HTML
Примеры CSS
Примеры JavaScript
How To Примеры
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Как указать фиксированное фоновое изображение в CSS?

< html >

 

< head >

     <

style type = "text/css" >

         h2 {

             text-align: center;

}

#EX {

Текст-алень: Центр;

             background-image:

             background-position: center;

             background-repeat: no-repeat;

             background-attachment: исправлено;

         }

     style >

head >

 

< body >

 

     < h2 >Example for fixed Background Image h2 >

 

     < div id = "ex" >

< P >

. Параграфы являются строительными блоками

бумаг. Many students define

             paragraphs in terms of length: a

             paragraph is a group of at least

             five sentences,

         p >

 

         < бр >< бр >

< P >

. Параграф - это половина страниц,

.

            и связность идей между

            

9     0116 п.

         p >

 

         < br >< br >

 

          

< p >

             Абзац определяется как «группа»

             предложений или одно предложение

             , образующее единое целое» (Lunsford and

                    Connors 11).

         p >

 

 

         < br >< br >

          

< P >

Длина и внешний вид. Не

Определите, является ли раздел в

.

         p >

 

         < br >< br >

 

          

< p >

             For instance, in some styles of

             writing, particularly journalistic

             styles, a paragraph может быть просто

             длиной в одно предложение. В конечном счете,

             абзац — это предложение или группа из

             предложений, поддерживающих одну основную идею.

         p >

 

         < br >< br >

 

          

< p >

.

P >

Div > Div > Div > .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *