Отзывчивая горизонтальная галерея потока изображенияHtml

Программисты Html
Ответить
Anonymous
 Отзывчивая горизонтальная галерея потока изображения

Сообщение Anonymous »

Я работаю над тем, чтобы попытаться воспроизвести эту галерею: https://preview.themeforest.net/item/co ... iew/240185
У меня есть код, который работает для меня на моем рабочем столе, но не отображается, но не отображается, но не отображается, но не будет отображать 3-й раз. Я хотел бы, чтобы это регулировало в качестве примера, обрезая вниз, чтобы отображать среднее изображение только тогда, когда просмотр достаточно мал. Я думал, что проценты сработают, но он вообще не приспосабливается к порту просмотра и сохраняет свой размер независимо от размера окна.
Я бы хотел, чтобы он совместимо с начальной загрузкой, но я не уверен, мешает ли начальная загрузка с любыми из моих попыток сделать это или нет.




Horizontal Scroll Gallery


[*]








Brand

CTA











Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение




Изображение

Изображение





< /code>
Вот мой css: < /p>


.gallery-container {

overflow: hidden;
position: relative;

width:100%;

}
.gallery {
display: flex;

width:max-content;
transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);

}
.gallery img {

height: 37rem;
width:100%;
object-fit: cover;
transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s ease-in-out;

flex: 0 0 auto;
opacity: 0.6;
padding: 3rem;

}

.gallery img.active {
transform: scale(1.2);
opacity: 1;
scroll-snap-align: center;
flex: none;

}

/*Reflected CSS */

/* reflection */
.units > :last-child {

transform: rotatex(180deg) translatey(2.95rem);
mask-image: linear-gradient(transparent 30%, white 90%);
-webkit-mask-image: linear-gradient(transparent 30%, white 90%);
text-shadow: 0 0 8px rgba(255 0 0 / 0.4), -2px -2px 6px rgba(0 255 0 / 0.4),
2px 2px 4px rgba(0 255 255 / 0.4);
background-image: unset;

}
/* original design */
.units > * {
font: bolder 5rem/5rem "EB Garamond";
background-image: url();
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
.units {
width: max-content;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
pointer-events: none;
padding: 0;
margin:0;
display: inline-block;
}

< /code>
my javscript: < /p>

const gallery = document.querySelector('.gallery');
const images = document.querySelectorAll('.gallery img');
let index = 0;
let imageCounter = 2;
let imageWidth;
const galleryContainer = document.querySelector('.gallery-container');

// Function to update the gallery when the window is resized or when the wheel is scrolled
function updateGallery() {
// Ensure the width is calculated correctly based on the container's width
imageWidth = galleryContainer.offsetWidth / 6;

// Apply a smooth translate effect to the gallery
gallery.style.transform = `translateX(${-index * imageWidth}px)`;

// Update active class on the images (based on scroll position)
images.forEach(img => img.classList.remove('active'));
images[imageCounter].classList.add('active');
}

// Event listener for wheel scroll
document.addEventListener('wheel', (event) => {
if (event.deltaY > 0 && index < images.length - 6) { // Scroll down
index += 2;
imageCounter += 2;
} else if (event.deltaY < 0 && index > 0) { // Scroll up
index -= 2;
imageCounter -= 2;
}
updateGallery();
});



Подробнее здесь: https://stackoverflow.com/questions/795 ... al-gallery
Ответить

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

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

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

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

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