Простой адаптивный слайдер на html и css. Адаптивный слайдер на CSS с креативным эффектом. jQuery плагин «Parallax Slider»

  • HTML
  • С развитием CSS3, возможности верстки растут экспоненциально. Всё больше функционала можно реализовать на «чистом» CSS. В этом посте показан процесс разработки интерактивного циклического слайдера без единой строчки JavaScript. Автоматическая ротация, выбор любого слайда с плавным переходом – на «чистом» CSS . Пример в действии

    Общая информация.

    Стандарты и префиксы
    Свойства transition, animation и transform уже давно, в том или ином виде, реализованы во всех популярных браузерах. 6 июня 2012 года W3C объявил, что эта часть разрабатываемого стандарта CSS 3.0 кардинально меняться не будет, и рекомендовал реализовать её всем браузерам уже сегодня.

    Для front-end разработчиков это означает появление стандарта, на который можно опираться. Теперь не надо бояться, что в будущем какой-либо браузер откажется от своего префиксного нестандартного свойства – ведь оно будет продублировано стандартным свойством и заменит его при необходимости.

    Устаревшие версии Internet Explorer, к которым скоро можно будет отнести даже 9 версию, не поддерживают transition, animation и transform ни в каком виде. Но их доля всё ещё превышает 10%.Для IE7-9 предлагается js-«заглушка», а эффекта плавного переключения между слайдами – ничего.

    Почему CSS, а не JS?
    Есть множество задач, которые можно решить при помощи CSS: интерактивные галереи, многоуровневые выпадающие меню, построение и анимация трёхмерных диаграмм… Зачем же использовать CSS, когда можно все сделать на JS, особенно учитывая массу готовых наработок? Основные аргументы могут быть такими:
    • В большинстве случаев, CSS эффекты работают быстрее, поскольку за их исполнением следят исключительно движки браузеров. Это особенно хорошо заметно на мобильных устройствах.
    • Для реализации задачи не требуется знание JS и вообще любых языков программирования. Правка же CSS, как правило, доступна даже рядовому пользователю. Причём «наломать дров» в CSS значительно сложнее, нежели в JS.

    Реализация

    БЭМ
    Итак, для именования CSS классов использовалась методология Блок Элемент Модификатор (БЭМ). Суть в том, что вёрстка основана на компоновке страницы из независимых блоков. Согласно БЭМ у блока могут быть элементы, но только внутри блока.

    Классы слайдера:
    .slider /* Блок, содержащий ленту изображений */ .slider__radio /* Радиокнопка */ .slider__item /* Слайд */ .slider__img /* Картинка внутри слайда */ .slider__number-list /* Контейнер с кнопками переключения */ .slider__number /* Кнопка включения связанного с ней слайда */ .slider__number-after /* внедрён для поддержки IE7 и IE8, которые не поддерживают псевдоэлементы:after и::after соответственно */ .slider_count_X /* Модификатор, определяющий количество слайдов X */

    Анимация
    Анимационная последовательность по ключевым кадрам для трёх слайдов выглядит следующим образом:
    @keyframes slider__item-autoplay_count_3 { 0%{opacity:0;} 10%{opacity:1;} 33% {opacity:1;} 43% {opacity:0;} 100%{opacity:0;} }
    Особенность реализации слайдера в том, что всем слайдам и всем кнопкам присваивается одна и та же анимация:
    slider_count_3 .slider__item, slider_count_3 .slider__number-after { -moz-animation: slider__item-autoplay_count_3 15s infinite; -webkit-animation: slider__item-autoplay_count_3 15s infinite; -o-animation: slider__item-autoplay_count_3 15s infinite; animation: slider__item-autoplay_count_3 15s infinite; }
    Такой подход позволяет серьезно сократить объем кода, ведь все анимации пока ещё приходится дублировать их префиксными версиями (@-webkit-keyframes, @-moz-keyframes и @-o-keyframes), а каждую такую «стопку» правил надо отдельно описывать для каждого требуемого (заказчиком) числа слайдов. Если отдельно описывать анимацию ещё и для каждого слайда, то объем кода может составить десятки килобайт.

    Чтобы этого избежать, но последовательно анимировать все слайды и кнопки при помощи одной анимации, достаточно расставить смещение начала анимации во времени для каждой пары слайд + кнопка:
    .slider__item:nth-of-type(2), .slider__number:nth-of-type(2) > .slider__number-after { -moz-animation-delay:5s; -webkit-animation-delay:5s; -o-animation-delay:5s; animation-delay:5s; } .slider__item:nth-of-type(3), .slider__number:nth-of-type(3) > .slider__number-after { -moz-animation-delay:10s; -webkit-animation-delay:10s; -o-animation-delay:10s; animation-delay:10s; } ...
    Для первой пары остаётся значение по-умолчанию – нулевое смещение.

    Также важно, что смещение не зависит от количества слайдов, и может быть описано один раз для их максимального количества.

    В итоге плавный анимированный переход между слайдами выглядит так:


    Пауза при наведении курсора
    Для случая, когда пользователь хочет задержать слайд на экране, но не хочет отключать ротацию, можно использовать режим паузы по наведению курсора над слайдом:
    .slider:hover .slider__item, .slider:hover .slider__number-after { -moz-animation-play-state: paused; -webkit-animation-play-state: paused; -o-animation-play-state: paused; animation-play-state: paused; }
    Переключение по клику
    Есть целый ряд CSS «событий», переключающих состояние html элемента. Если говорить о клике мыши, то это появление псевдоклассов:focus, :target, или:checked у одного из элементов страницы. Псевдокласс:focus может быть не более чем у одного элемента на страницу единовременно; псевдокласс:target засоряет историю браузера и требует наличие тега «a»; псевдокласс:checked запоминает состояние до ухода со страницы, плюс, в случае радиокнопок, является дискретным переключателем, когда выбран может быть только один элемент конкретной группы – то, что нужно.
    .slider__radio {стили не выбранной радиокнопки} .slider__radio:checked {стили выбранной радиокнопки}

    В селекторах ниже уровня 4 переключить состояние произвольного элемента (например, opacity слайда) можно только в связке с радиокнопкой, при помощи селекторов соседей + и ~. Переключить можно как стили соседа, так и стили потомков соседа, но в любом случае сосед должен находиться после радиокнопки.
    /* Стиль первого слайда в состоянии «не выбран» */ .slider__radio:nth-of-type(1) ~ .slider__item:nth-of-type(1) { opacity: 0.0; } /* Стиль первого слайда в состоянии «выбран» */ .slider__radio:nth-of-type(1):checked ~ .slider__item:nth-of-type(1) { opacity: 1.0; }
    Было использовано переключение opacity слайда – контейнера, который содержит картинку. Это более универсальный способ, чем переключение свойств картинки, поскольку в div-контейнер, в отличие от пустого элемента img, можно поместить любую дополнительную информацию (например, название слайда, или связанное описание, включая ссылки).
    Для слайдов указаны свойства transition, которые позволяют сделать переключение между ними плавным.
    .slider__item { -moz-transition: opacity 0.2s linear; -webkit-transition: opacity 0.2s linear; -o-transition: opacity 0.2s linear; transition: opacity 0.2s linear; }

    Остановка ротации при выборе слайда
    При выборе пользователем любого слайда необходимо остановить анимацию всех слайдов и кнопок. Это связано с тем, что приоритет значений свойств запущенной анимации всегда выше всех остальных значений тех же свойств (можно перебивать даже inline свойства с!important`ом).

    Поскольку анимация, пусть и одинаковая по структуре, есть у каждого слайда, а выключать надо анимацию всех слайдов (иначе в плавном переходе будут участвовать три слайда), все радиокнопки надо располагать до первого слайда.
    ...

    ...

    Более того, все кнопки (лейблы радиокнопок) надо группировать в отдельном блоке и помещать после радиокнопок, иначе могут возникнуть проблемы с универсальным позиционированием лейблов для произвольного числа слайдов.

    Остановка анимации всех слайдов и кнопок при выборе любого слайда задаётся следующим образом:
    .slider__radio:checked ~ .slider__item, .slider__radio:checked ~ .slider__number-list > .slider__number-after { opacity: 0.0; -moz-animation: none; -webkit-animation: none; -o-animation: none; animation: none; }

    Произвольное число слайдов
    Сделать универсальный слайдер под любое число слайдов невозможно, потому что под каждое число требуется своя «стопка» CSS-правил анимации. Каждую такую «стопку» (если она описана) можно подключать через модификатор блока slider:
    .slider_count_X
    где X – число слайдов.

    Для поддержки некоторых старых браузеров первый слайд не анимируется. По этой причине контейнер первой картинки имеет opacity всегда равный 1.0. Возникает проблема: при плавном переключении двух других слайдов между собой, первый просвечивает (это может быть и background родителя блока slider). Для удаления эффекта просвечивания устанавливается задержка transition-delay для всех слайдов, кроме выбранного; для выбранного же устанавливается z-index больше, чем у всех остальных:
    .slider__item { opacity: 1.0; position: relative; -moz-transition: opacity 0.0s linear 0.2s; -webkit-transition: opacity 0.0s linear 0.2s; -o-transition: opacity 0.0s linear 0.2s; transition: opacity 0.0s linear 0.2s; } .slider__radio:nth-of-type(1):checked ~ .slider__item:nth-of-type(1), .slider__radio:nth-of-type(2):checked ~ .slider__item:nth-of-type(2), .slider__radio:nth-of-type(3):checked ~ .slider__item:nth-of-type(3), .slider__radio:nth-of-type(4):checked ~ .slider__item:nth-of-type(4), .slider__radio:nth-of-type(5):checked ~ .slider__item:nth-of-type(5){ -moz-transition: opacity 0.2s linear; -webkit-transition: opacity 0.2s linear; -o-transition: opacity 0.2s linear; transition: opacity 0.2s linear; z-index: 6; }
    Чтобы слайды не конфликтовали с другими элементами сайта (например, не перекрывали выпадающее меню с z-index менее или равным 6), создаём свой контекст (stacking context) для блока путём задания минимально, необходимого для видимости, z-index`а:
    .slider { z-index: 0; }

    Итак

    Уже сегодня, без навыков программирования и специализированных библиотек, до своей окончательной стандартизации, CSS 3.0 позволяет реализовывать сложные и интересные задачи. Описанный интерактивный слайдер, на текущий момент, полностью работоспособно у 80% пользователей рунета. Для большей части оставшихся пользователей, а именно для пользователей браузеров IE7-9, можно использовать js-«заглушку», которая реализует основной функционал слайдера.

    Рабочий пример можно увидеть

    1. Превосходное jQuery слайд-шоу

    Большое эффектное слайд-шоу с использованием jQuery технологий.

    2. jQuery плагин «Scale Carousel»

    Масштабируемое слайд-шоу с использованием jQuery. Вы сможете задать размеры для слайд-шоу, которые вам больше всего подходят.

    3. jQuery плагин «slideJS»

    Слайдер изображений с текстовым описанием.

    4. Плагин «JSliderNews»

    5. CSS3 jQuery слайдер

    При наведении курсора на стрелки навигации появляется круглая миниатюра следующего слайда.

    6. Симпатичный jQuery слайдер «Presentation Cycle»

    jQuery слайдер с индикатором загрузки изображений. Предусмотрена автоматическая смена слайдов.

    7. jQuery плагин «Parallax Slider»

    Слайдер с объемным фоновым эффектом. Изюминка этого слайдера в движение фона, который состоит из нескольких слоев, каждый из которых прокручивается с различной скоростью. В итоге получается имитация объемного эффекта. Выглядит очень красиво, вы можете сами в этом убедиться. Более плавно эффект отображается в таких браузерах как: Opera, Google Chrome, IE.

    8. Свежий, легкий jQuery слайдер «bxSlider 3.0»

    На демонстрационной странице в разделе «examples» вы сможете найти ссылки на все возможные варианты использования этого плагина.

    9. jQuery слайдер изображений, плагин «slideJS»

    Стильный jQuery слайдер, безусловно сможет украсить ваш проект.

    10. jQuery плагин слайд-шоу «Easy Slides» v1.1

    Простой в использовании JQuery плагин для создания слайд-шоу.

    11. Плагин «jQuery Slidy»

    Легкий jQuery плагин в различном исполнении. Предусмотрена автоматическая смена слайдов.

    12. jQuery CSS галерея с автоматической сменой слайдов

    Если посетитель в течении определенного времени не нажмет на стрелки «Вперед» или «Назад», то галерея начнет прокручиваться автоматически.

    13. jQuery слайдер «Nivo Slider»

    Очень профессиональный качественный легкий плагин с валидным кодом. Предусмотрено много различных эффектов смены слайдов.

    14. jQuery слайдер «MobilySlider»

    Свежий слайдер. jQuery слайдер с различными эффектами смены изображений.

    15. jQuery Плагин «Slider²»

    Легкий слайдер с автоматической сменой слайдов.

    16. Свежий javascript слайдер

    Слайдер с автоматической сменой изображений.

    Плагин для реализации слайд-шоу с автоматической сменой слайдов. Есть возможность управлять показом с помощью миниатюр изображений.

    jQuery CSS слайдер изображений с использованием плагина NivoSlider .

    19. jQuery слайдер«jShowOff»

    Плагин для ротации содержимого. Три варианта использования: без навигации (с автоматической сменой в формате слайд-шоу), с навигацией в виде кнопок, с навигацией в виде миниатюр изображений.

    20. Плагин «Shutter Effect Portfolio»

    Свежий jQuery плагин для оформления портфолио фотографа. В галерее реализован интересный эффект смены изображений. Фотографии сменяют друг друга с эффектом похожим на работу затвора объектива.

    21. Легкий javascript CSS слайдер «TinySlider 2»

    Реализация слайдера изображений с использованием javascript и CSS.

    22. Обалденный слайдер «Tinycircleslider»

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

    23. Слайдер изображений на jQuery

    Легкий слайдер «Slider Kit». Слайдер представлен в различном исполнении: вертикальный и горизонтальный. Также реализованы различные виды навигации между изображениями: с помощью кнопок «Вперед» и «Назад», с помощью колеса мыши, с помощью клика мыши по слайду.

    24. Галерея с миниатюрами «Slider Kit»

    Галерея «Slider Kit». Прокрутка миниатюр осуществляется как в вертикальном так и горизонтальном направлении. Переход между изображениями осуществляется с помощью: колеса мыши, щелчка мыши или наведения курсора на миниатюру.

    25. jQuery слайдер содержимого «Slider Kit»

    Вертикальный и горизонтальный слайдер контента на jQuery.

    26. jQuery слайд-шоу «Slider Kit»

    Слайд-шоу с автоматической сменой слайдов.

    27. Легкий профессиональный javascript CSS3 слайдер

    Аккуратный слайдер на jQuery и CSS3, созданный в 2011 году.

    jQuery слайд-шоу с миниатюрами.

    29. Простое jQuery слайд-шоу

    Слайд-шоу с кнопками навигации.

    30. Потрясное слайд-шоу jQuery «Skitter»

    jQuery плагин «Skitter» для создания потрясающего слайд-шоу. Плагин поддерживает 22 (!) вида различных анимационных эффектов при смене изображений. Может работать с двумя вариантами навигации по слайдам: с помощью номеров слайдов и с помощью миниатюр. Обязательно посмотрите демонстрацию, очень качественная находка. Используемые технологии: CSS, HTML, jQuery, PHP.

    31. Слайд-шоу «Awkward»

    Функциональное слайд-шоу. В виде слайдов могут выступать: простые изображения, изображения с подписями, изображения с всплывающими подсказками, видео-ролики. Для навигации можно использовать стрелки, ссылки на номера слайдов и клавиши вправо/влево на клавиатуре. Слайд-шоу выполнено в нескольких вариантах: с миниатюрами и без них. Для просмотра всех вариантов пройдитесь по ссылкам Demo #1 - Demo #6 расположенным сверху на демонстрационной странице.

    Очень оригинальное оформление слайдера изображений, напоминающее веер. Анимированная смена слайдов. Навигация между изображениями осуществляется с помощью стрелок. Предусмотрена также автоматическая смена, которую можно включать и выключать с помощью кнопки Play/Pause, расположенной сверху.

    Анимированный jQuery слайдер. Фоновые изображения автоматически масштабируются при изменении размеров окна браузера. Для каждого изображения выплывает блок с описанием.

    34. «Flux Slider» слайдер на jQuery и CSS3

    Новый jQuery слайдер. Несколько классных анимированных эффектов при смене слайдов.

    35. jQuery плагин «jSwitch»

    Анимированная jQuery галерея.

    Легкое слайд-шоу на jQuery c автоматической сменой слайдов.

    37. Новая версия плагина «SlideDeck 1.2.2»

    Профессиональный слайдер контента. Возможны варианты с автоматической сменой слайдо, а также вариант с использованием колеса мыши для перехода между слайдами.

    38. jQuery слайдер «Sudo Slider»

    Легкий сладер изображений на jQuery. Очень много вариантов реализации: горизонтальная и вертикальная смена изображений, со ссылками на номер слайда и без них, с подписями изображений и без, различные эффекты смены изображений. Есть функция автоматической смены слайдов. Ссылки на все примеры реализации можно найти на демонстрационной странице .

    39. jQuery CSS3 слайд-шоу

    Слайд-шоу с миниатюрами поддерживает режим автоматической смены слайдов.

    40. jQuery cлайдер «Flux Slider»

    Слайдер с множеством эффектов смены изображений.

    41. Простой jQuery слайдер

    Стильный слайдер изображений на jQuery.

    Слайдер без использования JavaScript с крутым эффектом перелистывания слайдов. Отлично адаптируется под любые устройства. Исходники в наличии.

    Особенность: слайдер на CSS

    Слайдер на чистом CSS — это готовый слайдер с автоматическим переключением слайдов без помощи JS-скриптов. Как правило, такой вид слайдеров ценится начинающими разработчиками или в том случае, когда нет возможности\необходимость подключать библиотеки.

    Разумеется, проще воспользоваться специальными плагинами для создания слайдеров (таких очень много, на том же jQuery). Но данный слайдер соблазняет своим необычным эффектом перелистывания слайдов. При чем, с высокой производительностью.

    Как использовать этот пример у себя на сайте

    По ссылке выше, Вы можете скачать архив, в котором будет располагаться файл slider-css.html . Теоретически, все, что Вам необходимо для запуска слайдера на CSS на Вашем сайте, находится в этом файле. Вот Ваш алгоритм действий:

    1. Копируем все стили блока слайдера, они находятся в теге

    Обратите внимание, что контейнер.untitled имеет свойства position: absolute и возможно, Вам придется немного адаптировать его под себя.

    2. Все слайды обернуты в

    ...

    < div class = "untitled" >

    < div class = "untitled__slides" >

    . . .

    < / div >

    < / div >

    3. В самом HTML-коде слайда разобраться несложно

    London Scout Unsplash Profile

    < div class = "untitled__slide" >

    < div class = "untitled__slideBg" > < / div >

    < div class = "untitled__slideContent" >

    < span > London < / span >

    < span > Scout < / span >

    < a class = "button" href = "https://unsplash.com/@scoutthecity" target = "/black" > Unsplash Profile < / a >

    C ollection of free HTML and CSS slider code examples: card, comparison, fullscreen, responsive, simple , etc. Update of June 2018 collection. 7 new items.

    Table of Contents

    Related Articles

    🔥 All new CSS sliders in this video (2019)

    About the code

    A set of onboarding screens in HTML/CSS/JS. A personal experiment with layering PNG icons, CSS3 transitions, & flexbox.

    HTML, CSS and JavaScript information card slider.
    Made by Andy Tran
    November 23, 2015

    Photo slider working on desktop and mobile browsers.
    Made by Taron
    September 29, 2014

    Comparison (Before/After) Sliders


    About the code

    A simple and clean image comparison slider, fully responsive and touch ready made with CSS and jQuery.


    About the code

    A before and after slider with only html and css.


    About the code

    Playing around with a new idea using my two layer before/after image slider. Keeping it minimal. Keeping it vanilla. Like it if it"s useful:)

    Vanilla JS, minimal, nice to look.
    Made by Huw
    July 3, 2017


    About the code

    A "split-screen" slider element with JavaScript.

    A little experiment for a before & after slider all inside a SVG. Masking makes it pretty simple. Since it’s all SVG, the images and captions scale nicely together. GreenSock’s Draggable and ThrowProps plugins were used for the slider control.
    Made by Craig Roblewsky
    April 17, 2017

    Uses customised range input for slider.
    Made by Dudley Storey
    October 14, 2016

    Responsive image comparison slider with HTML, CSS and JavaScript.
    Made by Ege Görgülü
    August 3, 2016

    HTML5, CSS3 and JavaScript video before-and-after comparison slider.
    Made by Dudley Storey
    April 24, 2016

    A handy draggable slider to quickly compare 2 images, powered by CSS3 and jQuery.
    Made by CodyHouse
    September 15, 2014

    Fullscreen Sliders

    About the code

    Simple slider based on radio inputs. 100% pure HTML + CSS. Works also with arrow keys.

    Responsive: yes

    Dependencies: -


    About the code

    Nice transition effect for fullscreen slider.


    About the code

    Horizontal parallax sliding slider with Swiper.js.


    About the code

    Responsive smooth 3D perspective slider on mouse move.

    Fullscreen hero image slider (swipe panels theme) with HTML, CSS and JavaScript.
    Made by Tobias Bogliolo
    June 25, 2017

    A slider interaction thing using Velocity and Velocity effects (UI Pack) to enhance the animation. Animation is triggered via arrow keys, nav click, or scrolling jack. This version includes borders as part of the interaction.
    Made by Stephen Scaff
    May 11, 2017

    Simple slider in a minimal style to show off images. Part of the image pops out on each slide.
    Made by Nathan Taylor
    Jannuary 22, 2017

    The thing is pretty easy customizable. You can safely change font, font size, font color, animation speed. The first letter of a new string in array in JS will appear on a new slide. Easy to create (or delete) a new slide: 1. Add new city in the array in JS. 2. Change number of slides variable and put a new image in scss list in CSS.
    Made by Ruslan Pivovarov
    October 8, 2016

    1. Clip-path for image masking rectangle border (webkit only).
    2. Blend-mode for this mask.
    3. Smart color system, just put your color name and value into sass map and then add proper class with this color name to elements and everything will work!
    4. Cool credits side-menu (click small button in the center of demo).
    5. Vanilla js with just < 200 lines of code (basically it’s just adds/removes classes).
    Made by Nikolay Talanov
    October 7, 2016

    This skewed slider with scrolling based on pure JS and CSS (without libraries).
    Made by Victor Belozyorov
    September 3, 2016

    A slider animation with Pokemon design.
    Made by Pham Mikun
    August 18, 2016

    HTML, CSS and JavaScritp slider with complex animation and half-collored angled text.
    Made by Ruslan Pivovarov
    July 13, 2016

    Slider parallax effect with HTML, CSS and JavaScript.
    Made by Manuel Madeira
    June 28, 2016

    HTML, CSS and JavaScript slider with ripple effect.
    Made by Pedro Castro
    May 21, 2016

    Clip-Path revealing slider with HTML, CSS and JavaScript.
    Made by Nikolay Talanov
    May 16, 2016

    GSAP + Slick slider with preview of previous/next slides.
    Made by Karlo Videk
    April 27, 2016

    HTML, CSS and JavaScript full page slider.
    Made by Joseph Martucci
    February 28, 2016

    Full slider prototype with HTML, CSS and JavaScript.
    Made by Gluber Sampaio
    January 6, 2016

    A fullscreen, sort of responsive, slideshow animated with Greensocks TweenLite/Tweenmax.
    Made by Arden
    December 12, 2015

    Made by Arden
    December 5, 2015

    Full-Screen slider (GSAP Timeline) #1 with HTML, CSS and JavaScript.
    Made by Diaco M.Lotfollahi
    November 23, 2015

    HTML and CSS slider with custom effects.
    Made by Nikolay Talanov
    November 12, 2015

    Fullscreen drag-slider with parallax with HTML, CSS and JavaScript.
    Made by Nikolay Talanov
    November 12, 2015

    Proof of concept rotating slider. Uses clip-path and lots of math.
    Made by Tyler Johnson
    April 16, 2015

    A simple fullscreen CSS & jQuery slider using translateX and translate3d smoothness!
    Made by Joseph
    August 19, 2014

    Responsive Sliders

    About the code

    Images Opacity Slider

    Images opacity slider in HTML and CSS.

    Compatible browsers: Chrome, Edge, Firefox, Opera, Safari

    Responsive: yes

    Dependencies: -

    About the code

    Stacked Flexible Slides Layout

    This example illustrates how to create layout of slides stacked on each other (especially useful for fade in/out transitions). It"s achieved without setting their height and avoiding position: absolute; so they are fully flexible and easy to keep in normal page flow.

    Compatible browsers: Chrome, Edge, Firefox, Opera, Safari

    Responsive: yes

    Dependencies: -

    About the code

    Responsive Slider

    Animated responsive slider in HTML, CSS and JavaScript.

    Compatible browsers: Chrome, Edge, Firefox, Opera, Safari

    Responsive: yes

    Dependencies: animate.css

    About the code

    Slider With Masked Text

    CSS only slider with masked text.

    Compatible browsers: Chrome, Edge (partial), Firefox, Opera, Safari

    Responsive: yes

    Dependencies: -


    About the code

    Image and content with parallax effect.

    About the code

    CSS only slide gallery.

    Compatible browsers: Chrome, Edge, Firefox, Opera, Safari

    Responsive: yes

    Dependencies: -

    About the code

    Pure HTML/CSS Slider

    Pure HTML/CSS slider with circular SVG progress bar.

    Compatible browsers: Chrome, Edge (partial), Firefox (partial), Opera, Safari

    Responsive: yes

    Dependencies: font-awesome.css


    About the code

    An experiment to create a completely responsive vertical slider with thumbnails using only CSS, and retaining the aspect ratio of the images.


    About the code

    A simple Flexbox image slider/carousel made with vanilla JavaScript.


    About the code

    This is an experiment that simulates a motion blur effect every time a slide is switched. It takes advantage of SVG Gaussian Blur filter and some CSS keyframes animation. Although the effect does not require any Javascript to properly work, in this example Javascript is only used for the slider functionality.


    About the code

    Cool animates slider with JS.


    About the code

    This is an experiment on how SVG patterns can help us create masked-like images for a CSS-only image slider.

    Exploring some slider transitions. Swiper slider with parallax option enabled. Playing with CSS filters mostly here.
    Made by Mirko Zorić
    June 12, 2017

    Simple GSAP slider with some subtle tween animations.
    Made by Goran Vrban
    June 9, 2017

    Slider UI with HTML, CSS and JavaScript.
    Made by Mergim Ujkani
    June 6, 2017

    Slider GSAP virsion 2.
    Made by Em An
    May 4, 2017

    A little slicey transition slider using a simple add class deal. Have to smooth out the timings a bit and decide on the best approach for mobile (just stack, add touch events, make images full viewport, etc. Supports scrollwheel (scroll jacking), nav buttons and arrow keys. Can also increase the content wrapper to make the images fill viewport in their non animating state, which is kinda cool as well.
    Made by Stephen Scaff
    January 3, 2017

    Leveraged CSS border-image & clip-path to create a slider animation effect.
    Made by Emily Hayman
    December 31, 2016

    Little slider built with flexbox. Somewhat responsive, and can have fixed elements alongside the slider area.
    Made by Robert
    November 28, 2016

    HTML, CSS canvas slider.
    Made by Nvagelis
    October 29, 2016

    HTML, CSS and JavaScript 3D smooth slider.
    Made by Eduardo Allegrini
    October 19, 2016

    HTML and CSS cupcake slider with sprinkles!
    Made by Jamie Coulter
    October 14, 2016


    Made by mario s maselli
    October 12, 2016

    Exploring UI animation #2 with HTML, CSS and JavaScript.
    Made by mario s maselli
    September 22, 2016

    Exploring UI animation #3 with HTML, CSS and JavaScript.
    Made by mario s maselli
    September 22, 2016

    Ecommerce Slider v2.0 with HTML, CSS and JavaScript.
    Made by Pedro Castro
    September 17, 2016

    HTML, CSS and JavaScript clean slider with curved background.
    Made by Ruslan Pivovarov
    September 13, 2016

    Exploring UI animation #1 with HTML, CSS and JavaScript.
    Made by mario s maselli
    September 8, 2016

    Enjoy the power of CSS: Up & down each middle image and paginated slider with lightbox.
    Made by Kseso
    August 15, 2016

    Double exposure is photographic technique that combines 2 different images into a single image.
    Made by Misaki Nakano
    August 3, 2016

    Slider using CSS3 property clip.
    Made by Pedro Castro
    May 1, 2016

    Responsive CSS slider.
    Made by geekwen
    April 19, 2016

    This is a simple slider experiment displaying words with beautiful meanings which cannot be directly translated. Focus: elegant typography and simple yet alluring transitions.
    Made by Joe Harry
    April 5, 2016

    The animation idea is to change the value of CSS clip path, thus make a masking effect.
    Made by Bhakti Al Akbar
    March 31, 2016

    Dot slider with HTML, CSS and JavaScript.
    Made by Derek Nguyen
    March 16, 2016

    Prism effect slider with HTML, CSS and JavaScript.
    Made by victor
    March 12, 2016

    Sliding background gallery with HTML, CSS and JavaScript.
    Made by Ron Gierlach
    November 30, 2015

    HTML, CSS and JavaScript slider solution.
    Made by Jürgen Genser
    September 30, 2015

    A product slider powered by Sequence.js. Sequence.js - The responsive CSS animation framework for creating unique sliders, presentations, banners, and other step-based applications.
    Made by Ian Lunn
    September 15, 2015

    Tiny circle customized slider.
    Made by Bram de Haan
    August 11, 2015

    Responsive GTA V slider with HTML, CSS and JavaScript.
    Made by Eduard Mayer
    January 24, 2014

    It’s like a slider but it rotates cubeishly for reasons unknown.
    Made by Eric Brewer
    December 4, 2013

    Made by Hugo DarbyBrown
    August 28, 2013

    Simple Sliders

    Image overlay slider with HTML, CSS and vanilla JavaScript.
    Made by Yugam
    June 7, 2017

    HTML and CSS featured image slider.
    Made by Joshua Hibbert
    June 16, 2016

    Multi Axis Image Slider

    Multi axis image slider with HTML, CSS and JavaScript.
    Made by Burak Can
    July 22, 2013

    Cube slider, a small experiment with HTML5/CSS3 3d transforms.
    Made by Ilya K.
    June 26, 2013

    В данном уроке мы сделаем отличный слайдер CSS3. Он будет использовать эффект затухания между слайдами. Дополнительно можно использовать описание для каждого изображения. Для организации информации будет использоваться неупорядоченный список. Слайды будут переключаться автоматически с помощью анимаций CSS3.

    Разметка HTML

    Разметка HTML очень простая. В примере имеется четыре слайда. Каждый из них состоит из изображения (как фон) и текста описания в элементе div . Дополнительные слайды вставить очень просто.

    • Описание #1
    • Описание #2
    • Описание #3
    • Описание #4

    CSS

    Для слайдера используются анимации CSS3 anim_slides и anim_titles . Первая применяется для отдельных слайдов, вторая - для текста описания. Для описания также изменяется положение и прозрачность.

    /* Слайдер */ .slides { height:300px; margin:50px auto; overflow:hidden; position:relative; width:900px; } .slides ul { list-style:none; position:relative; } /* Кадры анимации #anim_slides */ @-webkit-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } @-moz-keyframes anim_slides { 0% { opacity:0; } 6% { opacity:1; } 24% { opacity:1; } 30% { opacity:0; } 100% { opacity:0; } } .slides ul li { opacity:0; position:absolute; top:0; /* анимация css3 */ -webkit-animation-name: anim_slides; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_slides; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; } /* Задержки css3 */ .slides ul li:nth-child(2), .slides ul li:nth-child(2) div { -webkit-animation-delay: 6.0s; -moz-animation-delay: 6.0s; } .slides ul li:nth-child(3), .slides ul li:nth-child(3) div { -webkit-animation-delay: 12.0s; -moz-animation-delay: 12.0s; } .slides ul li:nth-child(4), .slides ul li:nth-child(4) div { -webkit-animation-delay: 18.0s; -moz-animation-delay: 18.0s; } .slides ul li img { display:block; } /* Кадры анимации #anim_titles */ @-webkit-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } @-moz-keyframes anim_titles { 0% { left:100%; opacity:0; } 5% { left:10%; opacity:1; } 20% { left:10%; opacity:1; } 25% { left:100%; opacity:0; } 100% { left:100%; opacity:0; } } .slides ul li div { background-color:#000000; border-radius:10px 10px 10px 10px; box-shadow:0 0 5px #FFFFFF inset; color:#FFFFFF; font-size:26px; left:10%; margin:0 auto; padding:20px; position:absolute; top:50%; width:200px; /* Анимация css3 */ -webkit-animation-name: anim_titles; -webkit-animation-duration: 24.0s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-delay: 0; -webkit-animation-play-state: running; -webkit-animation-fill-mode: forwards; -moz-animation-name: anim_titles; -moz-animation-duration: 24.0s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; -moz-animation-direction: normal; -moz-animation-delay: 0; -moz-animation-play-state: running; -moz-animation-fill-mode: forwards; }