CSS Position Sticky: Стимучный переход при прокрутке, чтобы частично скрыть баннерCSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 CSS Position Sticky: Стимучный переход при прокрутке, чтобы частично скрыть баннер

Сообщение Anonymous »

Вот урезанная версия того, над чем я работал через Codepen: https://codepen.io/moosearch/pen/eaxyjepобразно Два макета столбца в соответствии с этим изображением: https://imgur.com/a/bj1twck
Левый столбец - боковая панель меню; Правый столбец содержит основной контент. Основной блок контента имеет горизонтальный баннер, который будет представлять брендинг для Департамента, в котором я работаю. Баннер состоит из двух SVG; Один из них - горизонтально полосатый фон, а другой - логотип, расположенный на фоне SVG. Если пользователь прокручивается вниз, баннер будет частично скрываться - отображается только нижняя часть, и логотип исчезает. Если пользователь прокручивает обратно, он полностью покажет баннер. Два движения, в отличие от одного плавного движения. Моя реализация в противном случае удовлетворительная, если это не было для этого.

























< /code>
css: < /p>
/* Note: I also use bootstrap.css styling, v5.3.3 */

body {
font-family: "Roboto";
display: flex;
flex-direction: row;
height: 100vh;
}

main {
height: 100vh;
flex-grow: 1;
overflow-y: auto;
padding: 10px 10px 10px 10px;
}

/* For banner */

#banner-wrapper {
position: sticky;
top: 0;
z-index: 10;
margin: -8px -10px 30px -10px;
height: 130px;
overflow: hidden;
transition: all 0.5s ease-out;
}

.banner svg {
height: 130px;
top: 0px;
}

/* Positions the crest within the banner BG. */
.crestbg svg {
height: 130px;
position: absolute;
top: 0px;
right: 40px;
}

.banner a {
text-decoration: none;
}

/* CSS for hiding banner partially when scrolling */

header {
height: 80px;
transition: all 0.5s ease-out;
}

header.scrolled {
height: 50px;
}
#banner-wrapper.scrolled {
top: -80px;
}
#crest-container.scrolled {
display: none;
}
< /code>
js: < /p>
// For banner scrolling.
const mainContentEle = document.getElementById('main-content-block')

mainContentEle.addEventListener('scroll', () => {
// Dependent on the SG banner dimensions and how it's designed. Change this as needed.
const scrollPixelCutoffValue = 80;

const headerElement = document.querySelector('header')
const svgBannerContainer = document.getElementById('banner-wrapper')
const crestContainer = document.getElementById('crest-container')
if (mainContentEle.scrollTop > scrollPixelCutoffValue) { // Adjust this value as needed
svgBannerContainer.classList.add('scrolled');
headerElement.classList.add('scrolled');
crestContainer.classList.add('scrolled');
} else {
svgBannerContainer.classList.remove('scrolled');
headerElement.classList.remove('scrolled');
crestContainer.classList.remove('scrolled');
}
return;
});


Подробнее здесь: https://stackoverflow.com/questions/794 ... ide-banner
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • CSS Position Sticky: Стимучный переход при прокрутке, чтобы частично скрыть баннер
    Anonymous » » в форуме CSS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • CSS Position Sticky: Стимучный переход при прокрутке, чтобы частично скрыть баннер
    Anonymous » » в форуме CSS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • CSS Position Sticky: Стимучный переход при прокрутке, чтобы частично скрыть баннер
    Anonymous » » в форуме CSS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Vuetify: justify-position/align-position vs justify="position"/align="position"
    Anonymous » » в форуме CSS
    0 Ответы
    76 Просмотры
    Последнее сообщение Anonymous
  • Проблема с Position Sticky Stick, палки, но при прокрутке больше оставьте свое положение
    Anonymous » » в форуме Html
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «CSS»