Я видел учебник о том, как сделать хороший эффект липкой прокрутки с помощью CSS CSS.Так что я хотел дать ему шанс и попробовал это с сеткой CSS.но это не будет работать должным образом.Я уже исправил некоторые серьезные проблемы, но я не очень доволен исправлениями.и до сих пор существует серьезная проблема со столбцами сетки.Есть 2 столбца.слева только один div, а справа пара div.левый должен придерживаться так, чтобы правая колонка прокручивалась.но как только функция прокрутки сработает, правый столбец изменит ширину.я не могу найти решение здесь.остальное работает, но я уверен, что есть более элегантный способ добиться того, чего я хочу.Я очень ценю любую помощь!спасибо! Здесь также ссылка CodePen: https://codepen.io/roottjk/pen/QWLPwxZ
уже пытался решить проблему ширины с некоторыми свойствами ширины CSS, но это не помогло.
HTML
<div class="product-title">
<h3>TEST</h3>
</div>
</div>
<div class="sugar">
</div>
<div class="private-label">
</div>
<div class="adventkalender">
</div>
<div class="sweets">
</div>
<div class="ads">
</div>
</section>
CSS
section.products {
display: grid;
grid-template-areas:
'title sugar'
'title private-label'
'title adventkalender'
'title sweets'
'title ads';
margin-bottom: 100vh !important;
}
.gridhuelle {
display: grid;
grid-area: title;
background-color: transparent !important;
z-index: -1;
width: 100% !important;
}
.gridhuelle h3 {
color: white;
z-index: 10;
}
.product-title {
background-color: black !important;
z-index: 1;
height: 300vh;
padding-top: 10.1875px !important;
}
.sugar {
display: grid;
grid-area: sugar;
background-color: red;
z-index: 5;
padding: 1em;
margin: 0 !important;
}
.private-label {
display: grid;
grid-area: private-label;
background-color: green;
padding: 1em;
}
.adventkalender {
display: grid;
grid-area: adventkalender;
background-color: blue;
padding: 1em;
}
.sweets {
display: grid;
grid-area: sweets;
background-color: yellow;
padding: 1em;
}
.ads {
display: grid;
grid-area: ads;
background-color: orange;
padding: 1em;
}
JS
function splitScroll() {
const controller = new ScrollMagic.Controller();
new ScrollMagic.Scene({
duration: '200%',
triggerElement: '.product-title',
triggerHook: 0
})
.setPin('.product-title')
.addIndicators()
.addTo(controller);
}
splitScroll();