Проблема с background-attachment: fixed;
, которая заставляет фон масштабироваться с окном просмотра.Согласно MDN ,
Фон фиксируется относительно области просмотра.Даже если элемент имеет механизм прокрутки, фон не перемещается вместе с элементом.(Это не совместимо с background-clip: text
.)
И, очевидно, также не совместимо с background-size: cover
.
Решение: сбросьте background-attachment
в медиа-запросе.
Вот codepen с решением.
Или, для людей, которые предпочитают фрагменты, фрагмент (только с скомпилированным SCSS).
body {
margin: 0;
}
#header {
position: relative;
height: 100vh;
}
#header .background-image {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-image: url("https://placehold.it/900x300");
background-size: cover;
background-attachment: fixed;
filter: brightness(50%);
-webkit-filter: brightness(50%);
}
@media only screen and (min-width: 600px) {
#header {
width: 600px;
margin: 0 auto;
height: 190px;
}
#header .background-image {
background-attachment: initial; /* new */
}
}
<section id="header">
<div class="background-image">
hello
</div>
</section>
Обратите внимание, что я немного изменил размеры, чтобы позволить мне тестировать;Теперь точка останова составляет 600 пикселей, а не 2600 пикселей, поскольку у меня нет такого широкого монитора.Так что вам не нужно копировать весь код, достаточно новой строки с фоновым вложением.