Обходной путь для этого пробела, который «разрывается» между разделами страницы индекса параллакса Squarespace, заключается в создании элемента «позади» изображения в каждом разделе, а затем заполнении этого элемента цветом (или градиентом), аналогичным то, что видно в области перехода между двумя секциями.
Это работает лучше в ситуациях, когда каждый раздел с фоновым изображением чередуется с разделом с плоским цветом фона.
Тем не менее, он все еще может адекватно работать в вашей ситуации, когда изображения сталкиваются друг с другом (и где цвет в верхней / нижней части изображения относительно одинаков по ширине изображения).
Следующий CSS-код, вставленный с помощью редактора CSS Squarespace, сделает «разрыв» почти незаметным между разделами на предоставленном вами примере сайта .
.Index-page--has-image:before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -2;
}
#welcome:before {
background-color: #232125;
}
#last:before {
background-color: #CAB8B1;
}
Конечно, «разрыв» все еще происходит, но мы заполняем то, что было белым промежутком (очень ощутимым), цветом, который приближает цвета изображения (так, чтобы оно было менее легко восприниматься).
Обратите внимание, что цвета (232125
, CAB8B1
) и идентификаторы (welcome
, last
) относятся к указанному вами примеру сайта. Они должны быть изменены для каждого сайта. Цвета были выбраны путем выборки цвета из соответствующей части каждого изображения, а идентификаторы разделов индексной страницы назначаются Squarespace на основе «URL-адреса» в настройках страницы для каждой страницы.
Теперь давайте посмотрим немного повнимательнее.
В то время как вышеупомянутый CSS делает разрыв между разделами незаметным, разрыв остается между первым разделом и панелью навигации (белый), а также между последним разделом и нижним колонтитулом (темно-синий).
Итак, мы должны немного усложнить добавление градиента фона к псевдоэлементу. Чтобы сделать это, вы должны использовать что-то вроде этого вместо вышеуказанного CSS:
.Index-page--has-image:before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -2;
}
#welcome:before {
background: linear-gradient(to bottom, #ffffff 0%,#ffffff 50%,#232125 50%,#232125 100%);
}
#last:before {
background: linear-gradient(to bottom, #CAB8B1 0%,#CAB8B1 50%,#081359 50%,#081359 100%);
}
Стоит отметить, что это не столько проблема с Squarespace, сколько природа событий прокрутки Javascript и рендеринга страниц. Сумма смещения основана на том, сколько страниц было прокручено (прошедшее время), поэтому, конечно, эта сумма не может быть рассчитана (и затем обработана) до после прокрутки. Так что по сути смещение всегда «догоняет». Идея, лежащая в основе реализации Squarespace, заключается в том, что пользователь будет работать на устройстве и браузере, которые работают достаточно хорошо, чтобы задержка не воспринималась. Очевидно, что это не всегда так!