Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Добавление пробелов между элементами Slick Carousel

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

Для организации пространства между элементами карусели Slick, задайте для класса .slick-slide правый отступ margin:

CSS
Скопировать код
.slick-slide {
    margin-right: 10px;
}

Затем откорректируйте параметр slidesToShow в настройках Slick, чтобы обеспечить корректную работу карусели, несмотря на добавленные отступы.

Кинга Идем в IT: пошаговый план для смены профессии

Поддержка центрального выравнивания

Если элементы .slick-slide сместились после добавления границ, используйте отрицательный отступ у класса .slick-list для компенсации:

CSS
Скопировать код
.slick-list {
    margin-left: -5px; 
} 
.slick-slide {
    margin-right: 10px; 
}

Обеспечение адаптивности дизайна

Процентные отступы или медиа-запросы позволят сделать отступы адаптивными:

CSS
Скопировать код
.slick-slide { 
    margin-right: 2%; 
}

Или:

CSS
Скопировать код
@media (max-width: 768px) {
    .slick-slide { 
        margin-right: 5px; 
    }
}
@media (min-width: 769px) {
    .slick-slide { 
        margin-right: 10px;
    }
}

Исправление некорректного выравнивания

Если карусель начала выравниваться неправильно из-за введённых отступов, то отрегулируйте свойство slidesToShow или задайте отступ слева для .slick-track:

CSS
Скопировать код
.slick-track { 
    margin-left: -10px; 
}

Сохранение интерактивности контента

Чтобы клики по элементам обрабатывались нормально, несмотря на добавленные отступы, примените CSS-свойство pointer-events:

CSS
Скопировать код
.slick-slide:not(.slick-active) {
    pointer-events: none;
}
.slick-active {
    pointer-events: auto;
}

Визуализация

Пространство между элементами карусели — это также важно, как и пробелы между словами. Они способствуют понятности и читабельности дизайна. Взгляните на это в действии:

Добавляем отступы и получаем: [🚀 – 🚀 – 🚀 – 🚀 – 🚀] ➡️ Каждая ракета готова к отдельному старту.

CSS
Скопировать код
.slick-slide {
    margin-right: 10px; 
}

Продвинутые стратегии создания пространства между элементами

Есть различные подходы к организации пространства в каруселях:

Условное создание пространства между элементами

Используйте CSS-селекторы для создания пространства только между определёнными элементами:

CSS
Скопировать код
.slick-slide:not(:last-child) {
    margin-right: 10px; 
}
Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Приведение контейнера в соответствие с элементами разного размера

Flexbox поможет адаптировать .slick-slide под содержимое различных размеров:

CSS
Скопировать код
.slick-slide { 
    display: flex; 
    justify-content: center; 
}

Использование градиентных границ в качестве отступов

CSS-градиенты могут стать стильным разделителем между элементами:

CSS
Скопировать код
.slick-slide {
    background: linear-gradient(90deg, transparent, transparent 10px, #eaeaea 10px, #eaeaea 11px, transparent 11px);
}

Предотвращение переполнения при прокрутке

Чтобы не появлялась нежелательная горизонтальная прокрутка из-за отступов, установите overflow:hidden для контейнера карусели:

CSS
Скопировать код
.carousel-container { 
    overflow: hidden; 
}

Полезные материалы

  1. slick – карусель для вашего проекта — официальная документация Slick.
  2. Обсуждение отступов между элементами в Slick на Stack Overflow.
  3. Руководство по отступам в CSS на w3schools.
  4. Глубокий анализ блочной модели в CSS на MDN.
  5. Исходный код Slick на GitHub.
  6. Детальное руководство по Flexbox на CSS-Tricks.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой CSS-правило нужно добавить, чтобы создать пространство между элементами Slick Carousel?
1 / 5