Как сделать фон с div сверху, оба ведут себя как фон параллакса

У меня есть фиксированный фон для эффекта параллакса, а поверх него есть div с заголовком раздела. После этого у меня есть основной контент div. Очевидно, я мог бы включить содержимое div в изображение и просто использовать новое изображение в качестве фона, но я хотел бы сохранить контроль над размером, шрифтом и т. д. содержимого div, поэтому необходимо, чтобы оба вели себя как фон. Возможно ли достичь этого эффекта?

Вот пример кода: я хочу, чтобы заголовок div был исправлен и вел себя как фон параллакса.

.parallax{
  background-image: url('http://i.stack.imgur.com/jGlzr.png');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.title{
  position: relative;
  display:flex;
  height: 120px;
  width: 120px;
  border: 3px solid white;
  left: calc(50% - 60px);
  align-items: center;
  justify-content: center;
}
.content{
  background-color: red;
  height:800px;
}
<div class="parallax">
  <div class="title">
    <h3>
      A title
    </h3>
  </div>
  <div class="content">
    <p>
      Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
  </div>
</div>


person J.ade    schedule 31.08.2016    source источник
comment
Вопрос слишком запутан. Я не знаю, что вы ищете.   -  person mattdevio    schedule 31.08.2016


Ответы (1)


Это должно быть довольно просто. Все, что вам нужно сделать, это установить для вашего заголовочного элемента значение position: fixed, а для элемента содержимого — значение position: relative и задать для него верхнее смещение высоты элемента заголовка + граница (126 пикселей).

Вот так:

.parallax{
  background-image: url('http://i.stack.imgur.com/jGlzr.png');
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.title{
  position: fixed;
  display:flex;
  height: 120px;
  width: 120px;
  border: 3px solid white;
  left: calc(50% - 60px);
  align-items: center;
  justify-content: center;
}
.content{
  height:800px;
  position: relative;
  top: 126px;
  background-color: red;
}
<div class="parallax">
  <div class="title">
    <h3>
      A title
    </h3>
  </div>
  <div class="content">
    <p>
      Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </p>
  </div>
</div>

person beercohol    schedule 31.08.2016
comment
Действительно, это обычно имеет место для параллакса, но для этого вам нужен javascript, а фиксированное фоновое путешествие достаточно хорошо для моего варианта использования. - person J.ade; 31.08.2016