Якщо вам потрібно додати на свій сайт якісний JQuery-слайдер зображень, то в цій статті ви знайдете опис потрібних плагінів. Незважаючи на те, що JQuery істотно спростив роботу з JavaScript, ми, як і раніше, потребуємо плагінів, щоб прискорити процес створення веб-дизайну.
Ми можемо вносити зміни в деякі з цих плагінів та створювати нові слайдери, які набагато більше відповідають завданням нашого сайту.
Для інших слайдерів досить просто додати заголовки, зображення та вибрати ефекти для зміни слайдів, які постачаються разом із слайдером. Всі ці плагіни супроводжуються докладною документацією, так що додати до них нові ефекти або функції не складе великої праці. Ви навіть можете змінити тригери, що залежать від подій, якщо ви є досвідченим програмістом JQuery .
Останні тенденції, такі як адаптивний дизайн, дуже важливі для веб-проектів, незалежно від того, чи ви реалізуєте плагін або скрипт. Всі ці елементи роблять кожен із цих плагінів дуже гнучкими. Все, що сталося у 2014 році, включено до цього списку.
JQuery-слайдери зображень
Jssor Responsive Slider
Нещодавно я наткнулася на цей функціональний JQuery-слайдер, і змогла переконатися, що він справляється зі своєю роботою дуже добре. Він містить у собі безмежні можливості, які можна розширити за рахунок відкритого вихідного кодуслайдера:
- Адаптивний дизайн;
- Понад 15 параметрів налаштування;
- Понад 15 ефектів зміни зображення;
- Галерея зображень, каруселі, підтримка повноекранного розміру;
- Вертикальний ротатор банерів; список слайдів;
- Підтримка відео.
Демо | завантажити
PgwSlider - адаптивний слайдер на основі JQuery/Zepto
Єдиним завданням цього плагіна є демонстрація слайдів зображень. Він дуже компактний, тому що розмір JQuery-файлів складає всього 2,5 КБ, що дозволяє підвантажувати його дійсно швидко.
- Адаптивний макет;
- SEO-оптимізація;
- Підтримка різними браузерами;
- Прості переходи зображень;
- Розмір архіву лише 2,5 КБ.
Демо | завантажити
Jquery Vertical News Slider
Гнучкий та корисний JQuery -слайдер, призначений для ресурсів новин з переліком публікацій з лівого боку та виведенням зображення праворуч:
- Адаптивний дизайн;
- Вертикальна колонка перемикання новин;
- Розширені заголовки.
Демо | завантажити
Wallop Slider
Цей слайдер не містить JQuery, але я хотів би представити його, тому що він дуже компактний і дозволяє суттєво зменшити час завантаження сторінок. Дайте мені знати, якщо він вам сподобається:
- Адаптивний макет;
- Простий дизайн;
- Різні варіанти зміни слайдів;
- Мінімальний код JavaScript;
- Розмір всього 3КБ.
Демо | завантажити
Flat-style Polaroid галерея
Галерея в стилі розкиданих на столі документів із гнучким макетом та гарним дизайном має зацікавити багатьох із вас. Більше підходить для планшетів та великих дисплеїв:
- Адаптивний слайдер;
- Плоский дизайн;
- Випадкова зміна слайдів;
- Повний доступ до вихідного коду.
Демо | завантажити
A-Slider
Демо | завантажити
HiSlider – HTML5, jQuery та WordPress слайдер зображень
HiSlider представив новий безкоштовний плагін JQuery-слайдера, за допомогою якого можна створювати різноманітні галереї зображень із фантастичним переходами:
- Адаптивний слайдер;
- Не потребує знання програмування;
- Декілька дивовижних шаблонів і скінів;
- Гарні ефекти переходів;
- Підтримка різних платформ;
- Сумісність із WordPress, Joomla, Drupal;
- Можливість відображення контенту різних типів: зображень, відео YouTubeта відео Vimeo;
- Гнучке настроювання;
- корисні додаткові функції;
- Необмежений обсяг відображуваного контенту.
Демо |
Wow Slider
WOW Slider - це адаптивний JQuery-слайдер зображень з дивовижними візуальними ефектами (доміно, поворот, розмиття, переворот та спалах, виліт, жалюзі) та професійними шаблонами.
WOW Slider поставляється разом із майстром установки, що дозволяє створювати фантастичні слайдери за лічені секунди без необхідності розбиратися в коді та редагувати зображення. Також доступні для скачування версії плагіна під Joomla та WordPress:
- Повністю адаптивний;
- Підтримка всіх браузерів та всіх типів пристроїв;
- Підтримка сенсорних пристроїв;
- Проста установка на WordPress;
- Гнучкість у налаштуванні;
- SEO -оптимізований.
Демо |
Nivo Slider – безкоштовний jQuery-плагін
Nivo Sliderвідомий усьому світу як найкрасивіший і найпростіший у використанні слайдер зображень. Плагін Nivo Slider є безкоштовним і випускається за ліцензією MIT:
- Потрібний JQuery 1.7 і вище;
- Прекрасні ефекти переходу;
- Простий та гнучкий у налаштуванні;
- Компактний та адаптивний;
- Відкритий код;
- Потужний та простий;
- Декілька різних шаблонів;
- Автоматичне обрізання зображення.
Демо |
Простий JQuery слайдер із технічною документацією
Ідея була навіяна слайдерами від Apple, у яких кілька маленьких елементів можуть вилітати з різними ефектами анімації. Розробники спробували втілити цю концепцію з урахуванням мінімальних вимог до створення простого дизайнуінтернет-магазину, в якому елементи, що «вилітають», являють собою різні категорії:
- Адаптивний макет;
- Мінімалістичний дизайн;
- Різні ефекти випадання та зміни слайдів.
Демо |
Повнорозмірний JQuery-слайдер зображень
Дуже простий слайдер, що займає 100% ширини сторінки та підлаштовується під розміри екранів мобільних пристроїв. Він працює з CSS переходами, а зображення «укладаються» разом із анкорами. Анкор може бути замінений або видалений, якщо ви не бажаєте прив'язувати до зображення посилання.
У разі встановлення слайдер розгортається на 100% ширини екрана. Також він може автоматично зменшувати розмір зображень слайдів:
- Адаптивний JQuery-слайдер;
- Повнорозмірний;
- Мінімалістичний дизайн.
Демо |
Elastic Content Slider + посібник
Elastic Content Slider автоматично регулює ширину та висоту залежно від розмірів батьківського елемента. Це простий JQuery-слайдер. Він складається зі слайд-зони вгорі, і панелі навігаційних вкладок у нижній частині. Слайдер підлаштовує свою ширину та висоту відповідно до розмірів батьківського контейнера.
При перегляді на маленьких по діагоналі екранах вкладки навігації перетворюються на маленькі іконки:
- Адаптивний дизайн;
- Прокручування кліком миші.
Демо |
Free 3D Stack Slider
Експериментальний слайдер, що перегортає зображення в 3D. Два стеки нагадують стоси паперу, з яких при прогортанні зображення виводяться в центр слайдера:
- Адаптивний дизайн;
- Flip-перехід;
- 3D-ефекти.
Демо |
Fullscreen Slit Slider на основі JQuery та CSS3 + керівництво
З керівництва ви дізнаєтеся, як створити слайдер із родзинкою: ідея полягає в тому, щоб «розрізати» і вивести в такому вигляді поточний слайд, коли ви відкриваєте наступне або попереднє зображення. Використовуючи JQuery та CSS-анімацію, ми можемо створювати унікальні ефекти переходів:
- Адаптивний дизайн;
- Спліт-перехід;
- Повноекранний слайдер.
Демо |
Unislider – дуже маленький JQuery-слайдер
Ніяких непотрібних наворотів та розмітки, розмір менше 3КБ. Використовуйте будь-який HTML-код для своїх слайдів, розширюйте його за допомогою CSS. Все, що пов'язано з Unslider, розміщується на GitHub:
- Підтримка різними браузерами;
- Підтримка клавіатури;
- Регулювання за висотою;
- Адаптивний дизайн;
- Підтримка сенсорного введення.
Демо | завантажити
Minimal Responsive Slides
Простий та компактний плагін ( розмір всього 1 Кб), що створює адаптивний слайдер, використовуючи елементи всередині контейнера. ResponsiveSLides.js працює з великою кількістю браузерів, включаючи всі версії IE від IE6 та вище:
- Повністю адаптивний;
- Розмір 1 КБ;
- CSS3 переходи з можливістю запуску через JavaScript;
- Проста розмітка із використанням маркованого списку;
- Можливість налаштування ефектів переходів та тривалості перегляду одного слайду;
- Підтримує можливість створення кількох слайд-шоу;
- Автоматична та ручна прокрутка.
Демо |
Camera – безкоштовний JQuery слайдер
Camera — плагін із безліччю ефектів переходів, адаптивним макетом. Простий у налаштуванні, підтримується мобільними пристроями:
- Повністю адаптивний дизайн;
- Підписи;
- Можливість додавання відео;
- 33 різних кольорів ікон.
Демо |
SlidesJS, адаптивний JQuery плагін
SlidesJS - це адаптивний плагін для JQuery (1.7.1 і вище) за допомогою сенсорних пристроїв та CSS3-переходів. Поекспериментуйте з ним, спробуйте кілька готових прикладів, які допоможуть вам розібратися, як додати SlidesJS до свого проекту:
- Адаптивний дизайн;
- CSS3 -переходи;
- Підтримка сенсорних пристроїв;
- Простий у налаштуванні.
Демо | завантажити
BX Jquery Slider
Це безкоштовний адаптивний JQuery слайдер:
- Повністю адаптивний - підлаштовується під будь-який пристрій;
- Горизонтальна, вертикальна зміна слайдів;
- Слайди можуть містити зображення, відео або HTML-контент;
- Розширена підтримка сенсорних пристроїв;
- Використання CSS-переходів для слайд-анімації ( апаратне прискорення);
- API зворотних викликів та повністю публічні методи;
- Невеликий розмір файлу;
- Простий у реалізації.
Демо |
FlexSlider 2
Найкращий адаптивний слайдер. Нова версіябула доопрацьована з метою збільшення швидкості роботи, компактності.
Демо | завантажити
Galleria – адаптивна фотогалерея на основі JavaScript
Galleria використовується на мільйонах сайтів для створення галереї зображень у високій якості. Кількість позитивних відгуків про її роботу просто зашкалює:
- Повністю безкоштовний;
- Режим повноекранного перегляду;
- 100% адаптивний;
- Не потрібний досвід програмування;
- Підтримка iPhone, IPad та інших сенсорних пристроїв;
- Flickr, Vimeo, YouTube та багато іншого;
- Декілька тем.
Демо | завантажити
Blueberry – простий адаптивний JQuery-слайдер зображень
Представляю вам JQuery-слайдер зображень, написаний спеціально для адаптивного веб-дизайну. Blueberry - це експериментальний плагін слайдера зображень з відкритим вихідним кодом, написаний спеціально для роботи з адаптивними шаблонами.
1. jQuery плагін «Fresco»
Адаптивна галерея jquery (змінює розмір при зміні роздільної здатності екрана), що відображається у спливаючому вікні з мініатюрами та підписами зображень. Jquery галерея «Fresco» коректно працює у більшості браузерів у тому числі: IE6+, Firefox 3+, Chrome 5+, Opera 9+. Безкоштовна версія цього плагіна може використовуватись лише на некомерційних проектах.
2. Слайдер "Adaptor"
Слайдер із різними ефектами переходів (7 різних ефектів, у тому числі 3D). Проект на Github.
3. Плагін слайдера з різними ефектами "jQ-Tiles"
Плагін з різними ефектами переходу, з швидкістю зміни слайдів, що настроюється, з функцією автопрокрутки.
4. jQuery плагін "Sly"
Плагін для реалізації вертикального та горизонтального скроллера. Проект на Github.
5. Анімоване CSS3 меню "Makisu"
6. Просте слайд-шоу
7. Функціональний jQuery слайдер "iView Slider v2.0"
Слайдер контенту/слайдшоу (як слайд може бути не тільки зображення, а також відео ролики та інший HTML вміст). Для навігації можна використовувати: мініатюри, кнопки Вліво/Вправо та за допомогою клавіатури. Проект на Github.com.
8. Набір jQuery плагінів «Vanity»
У наборі 7 плагінів: jSlider, jTabs, jPaginate, jSpotlight, jTip, jPlaceholder та jCollapse. Набір цих рішень допоможе вам у реалізації слайдера, підказок, табів, спливаючих описів зображень та ін.
9. Hover CSS3 ефект
10. CSS3 меню, що випадає
11. iOSslider
Слайдер, ув'язнений під роботу на мобільних пристроях.
12. CSS3 індикатор завантаження
13. CSS3 ефект при наведенні
14. «Product Colorizer» jQuery плагін
Плагін є легким рішенням для реалізації перегляду продуктів у різних варіантах кольору (актуально, наприклад, для інтернет-магазинів одягу, щоб дати відвідувачам вибрати колірну гаму товару з декількох варіантів). Для роботи плагіна необхідно лише два зображення для кожного продукту (усі кольори накладатимуться у вигляді маски). Плагін працює у всіх основних браузерах, включаючи IE7+ (працюватиме і в IE6, якщо ви зафіксуйте відображення прозорості PNG). Проект на GitHub.
15. CSS3 анімовані діаграми
16. Створення overlay-ефекту при натисканні зображення
Під час натискання зображення воно затемняється на задній план і з'являються пункти з підписами. Таким чином, можна дати короткий описелементів, розміщених на зображенні.
17. Навігація по сторінці у вигляді меню, що випадає
Рішення для реалізації зручної навігації за документом у вигляді меню. Зміст зафіксований зверху екрана і завжди залишається у виді відвідувача. При виборі розділу в меню відбувається плавне прокручування сторінки до вибраної частини документа.
18. CSS3 галерея з ефектом при наведенні
При наведенні курсору на зображення відбувається швидка зміна фотографій. Галерея реалізована у двох варіантах: з описом знімків, що з'являється після того, як відвідувач відведе курсор із галереї та без опису.
19. jQuery слайдер з ефектом Parallax
20. CSS3 анімація при наведенні на блоки
21. CSS3 jQuery спливаюча панель
Натисніть стрілку внизу екрана на демонстраційній сторінці, щоб побачити спливаючі іконки.
22. Безкоштовна HTML5 галерея зображень «Juicebox Lite»
Дуже функціональна нова галерея зображень для сайту. Галерея може бути як з мініатюрами так і без них, з зображенням і без опису, може розгортатися на весь екран або відображатися на сторінці з фіксованими розмірами. На сторінці демо ви можете вибрати вид галереї, який вам сподобається. Для скачування доступна безкоштовна версіягалереї. За більш сучасний функціонал і за те, щоб прибрати логотип розробника, доведеться заплатити.
23. Плагін "JQVMap"
24. CSS3 слайдер з Parallax-ефектом
25. jQuery галерея фотографій із мініатюрами
Адаптивна галерея, розміри зображень та мініатюр змінюються разом із розміром вікна браузера.
26. jQuery плагін слайдера контенту «Horinaja»
Плагін легкий в установці, що налаштовується, кросбраузерний. Як слайд може виступати будь-який HTML контент, не лише зображення. Прокручувати слайди можна за допомогою колеса миші, коли курсор знаходиться на області слайда.
27. Плагін jQuery слайдера "Pikachoose"
У трьох варіаціях: реалізація простої зміни зображень без опису та мініатюр; слайдер з підписами зображень та мініатюрами; слайдер із мініатюрами та доданим відкриттям збільшеного зображення у спливаючому вікні з ефектом FancyBox. Останню версію завжди можна знайти на Github.
28. Декілька користувацьких CSS стилізацій випадаючих списків
П'ять різних стильових оформлень списків з використанням різних CSS технік.
29. Ресторане меню з анімованим 3D ефектом
Цікаве CSS jQuery представлення інформації на сторінці. Натиснувши на посилання, розкривається буклет-меню і відвідувач може у спливаючому вікні прочитати докладніше про надані страви. Анімація неправильно відображається в IE.
30. Плагін «Elastislide»
Реалізація гумової адаптивної каруселі (вертикальна та горизонтальна карусель зображень) та галереї зображень. При зменшенні вікна браузера зменшується кількість зображень до певного мінімального значення і далі масштабується розмір зображень, що залишилися. Проект на Github.
31. Свіжий CSS3 jQuery слайдер "Slit Slider"
Адаптивний плагін слайдера (ширину можна задавати у відсотках і він автоматично змасштабується) у двох стильових виконаннях з цікавим анімованим ефектом при зміні слайдів (слайд розрубується навпіл і роз'їжджається у різні боки, яке місце займає новий). Можлива навігація за допомогою клавіатури. Свіжа версія завжди на Github.
32. Нова версія 3D слайдера зображень "Slicebox"
Нова версія із внесеними змінами та додаванням нових функцій: тепер 3D слайдер став масштабованим, побачити це можна при зменшенні вікна браузера; додано підтримку Firefox; в описі до слайду вже можна використовувати HTML контент (раніше опис підтягувався з атрибута посилання без можливості використовувати в ньому HTML теги). На демонстраційній сторінці можна переглянути 4 варіанти використання плагіна. остання версіяживе на Github.com.
Ефект дуже схожий на Flash галерею 3D CU3ER (демо, скачати), тільки виконаний цей 3D слайдер не за допомогою flash технологій, а за допомогою javascript.
33. jQuery плагін «PFold»
Експериментальне рішення. Плагін реалізує 3D ефект із імітацією розгортання записки. Різні варіанти виконання: з трьома розворотами, з двома розворотами та розворот з подальшим центруванням розгорнутої записки.
34. jQuery плагін «Windy»
Плагін для навігації за контентом, наприклад зображення. При прогортанні фотографій вони розлітаються у різні боки (ефект чимось нагадує роздачу карток у картковій грі покер). Для навігації можна використовувати кнопки вліво/вправо або повзунок (див. різні варіантина демонстраційній сторінці). Проект на
Працюючи над книгою про jqueryя зіткнувся з тим, що багато моїх передплатників просили мене розповісти в ній як на jquery написати скрипт слайдера. Пардон, дорогі друзі! На дворі XXI століття і, на наше щастя, нам доступні всі принади CSS3, що дозволяють реалізувати подібні речі без жодного рядка javascript.
Частина 1.
Для початку поясню тим, хто не знає що таке слайдер. Слайдер- це певний ширини блок, що займає частину веб-сторінки, або всю її повністю. Основна його особливість у змінному в автоматичному або ручному режиміконтент. Як контент можуть виступати як графічні зображення, і якийсь текст.
Звичайно, ви можете поцікавитися: навіщо винаходити велосипед, якщо повно реалізацій слайдерів на JavaScript? Ось мої аргументи:
- CSS ефекти працюють швидше. Це добре помітно на мобільних пристроях.
- Щоб створити слайдер, не потрібні навички програмування.
Отже, для нашого прикладу, вам потрібно чотири зображення, хоча у своєму проекті ви можете зробити смужку з такою кількістю зображень, яка вам потрібна. Єдиною умовою є те, що всі зображення мають бути однакового розміру. Ще, забув вам сказати, наш слайдер буде адаптивним (так-так, адаптивна верстка, ви не помилилися) і ви зможете використовувати його у будь-яких своїх проектах для будь-яких пристроїв. Але, досить балаканини, у мене вже руки сверблять написати мега-код. Почнемо з HTML:
Я залишив порожнім атрибут alt, щоб заощадити місце, Ви можете його заповнити самі, виходячи з ваших SEO запитів і для інформування користувачів, що відключили в браузері показ картинок. Хочу також звернути вашу увагу на те, що перше зображення ( alladin.jpg) буде присутнім і в кінці смуги, що дозволить нашому слайдеру прокручуватися циклічно без ривків.
Для зручності width становить 80% вікна, а max-width відповідає розміру кожної окремої фотографії (1000 пікселів у нашому прикладі), оскільки нам не потрібне розтягнуте зображення:
Slider ( width: 80%; max-width: 1000px; )
У нашому коді CSS ширина figure виражена у відсотковому відношенні до div , в якому вона розташована. Тобто, якщо смуга зображень містить п'ять фотографій, а div видає лише одне, ширина figure збільшується вп'ятеро, що становить 500% ширини контейнера div:
Параметр font-size: 0 викачує із figure все повітря, видаляючи вільний простірнавколо зображень та між ними. position: relative дозволяє легко переміщати figure під час анімації.
Нам потрібно рівно розділити фотографії всередині смуги зображень. Формула дуже проста: якщо ми припустимо, що ширина figure становить 100%, кожне зображення повинне займати 1/5 горизонтального простору:
Виникає потреба у використанні наступного CSS правила:
Imagestrip img ( width: 20%; height: auto; )
Тепер поміняємо властивість overflow для div:
Slider ( width: 80%; max-width: 1000px; overflow: hidden )
Нарешті, треба зробити так, щоб смуга зображень переміщалася зліва направо. Якщо ширина контейнера div складає 100%, кожен рух смуги зображень вліво вимірюватиметься у відсоткових частках цієї відстані:
@keyframes slidy ( 20% ( left: 0%; ) 25% ( left: -100%; ) 45% ( left: -100%; ) 50% ( left: -200%; ) 70% ( left: -200 %; ) 75% ( left: -300%; ) 95% ( left: -300%; ) 100% ( left: -400%; ) )
Кожне зображення на слайдері буде укладено в div і переміщатиметься на 5%.
Slider figure ( position: relative; width: 500%; animation: 30s slidy infinite; font-size: 0; padding: 0; margin: 0; left: 0; )
Частина 2.
Ми зробили мега-крутий слайдер без javascript. А давайте, перш ніж піти спочивати на лаврах, додамо до нього кнопки керування. Точніше, не в нього (з ним мені вже ліньки возитися), а створимо новий.
Так, наш HTML код:
Тепер подбаємо про анімацію наших слайдів. На жаль, для різного числа слайдів вона відрізнятиметься:
/* для слайдера з двох слайдів */ @keyframes slider__item-autoplay_count_2 ( 0%(opacity:0;) 20%(opacity:1;) 50%(opacity:1;) 70%(opacity:0;) 100%( opacity:0;) ) /* для слайдера з трьох слайдів */ @keyframes slider__item-autoplay_count_3 ( 0%(opacity:0;) 10%(opacity:1;) 33% (opacity:1;) 43% (opacity: 0;) 100%(opacity:0;) ) /* для слайдера з чотирьох слайдів */ @keyframes slider__item-autoplay_count_4 ( 0%(opacity:0;) 8% (opacity:1;) 25% (opacity:1;); ) 33% (opacity:0;) 100%(opacity:0;) ) /* для слайдера з п'яти слайдів */ @keyframes slider__item-autoplay_count_5 ( 0%(opacity:0;) 7% (opacity:1;) 20 %(opacity:1;) 27% (opacity:0;) 100%(opacity:0;) )
Сумно, чи не так? Крім того, не забудьте, що для Опери, Хрома, ІЕ, та Мозили потрібно написати все те саме, але з відповідним префіксом. Тепер напишемо код для анімації наших слайдів (тут і далі буде показаний код для трьох слайдів. Код для більшої кількості сайтів Ви можете побачити в коді прикладу):
Slider_count_3 .item ( -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 15; -of-type(2) ( -moz-animation-delay:5s; -webkit-animation-delay:5s; -o-animation-delay:5s; animation-delay:5s; ) .item:nth-of-type (3) ( -moz-animation-delay:10s; -webkit-animation-delay:10s; -o-animation-delay:10s; animation-delay:10s; )
Як бачите, для першої пари нульове усунення не змінюється. Крім того, зсув не залежить від кількості слайдів, тому його можна описати один раз для максимальної кількості слайдів. Тепер зробимо так, щоб слайди не змінювалися, коли користувач навів курсор миші на наш слайдер:
Slider:hover .item ( -moz-animation-play-state: paused; -webkit-animation-play-state: paused; -o-animation-play-state: paused; animation-play-state: paused; )
Нарешті ми з вами дісталися до перемикання наших слайдів. Як відомо, є ціла низка подій, що дозволяють змінювати властивості елемента за допомогою CSS. Для кліку миші нам можуть допомогти псевдокласи :focus , :target , або :checked в одного з елементів сторінки. Псевдоклас:focus може бути тільки в одного елемента на сторінку, :target засмічує історію браузера і потребує тега ; псевдокласс:checked запам'ятовує стан до відходу зі сторінки, і, у разі радіокнопок, може бути обраний лише один елемент у групі. Скористайтеся цим. Вставимо перед
А після
/* Стиль слайдерів у стані "не вибраний" */ .slider .item ~ .item ( opacity: 0.0; ) /* Стиль слайдерів у стані "вибраний" */ .slider input:nth-of-type(1):checked ~ .item:nth-of-type(1), .slider input:nth-of-type(2):checked ~ .item:nth-of-type(2), .slider input:nth-of-type( 3):checked ~ .item:nth-of-type(3), .slider input:nth-of-type(4):checked ~ .item:nth-of-type(4), .slider input:nth- of-type(5):checked ~ .item:nth-of-type(5) ( opacity: 1.0; )
Ми використовували перемикання якості opacity слайда-контейнера з зображенням. Це пов'язано з тим, що в div-контейнер, на відміну від елемента img, можна помістити будь-яку додаткову інформацію(наприклад, назва слайду). Звичайно, якби ми використовували Javascript, ми могли б користуватися атрибутом data. Але ми з вами домовилися, пам'ятаєте?)) Для слайдів вкажемо характеристики 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; )
Зупинка анімації всіх слайдів та кнопок при виборі будь-якого слайда здійснимо за допомогою наступного CSS коду:
Slider input:checked ~ .item ( opacity: 0.0; -moz-animation: none; -webkit-animation: none; -o-animation: none; animation: none; )
Для підтримки деяких старих браузерів ми не анімуємо перший слайд, встановивши для нього opacity: 1.0, але при цьому ми розуміємо проблему: при плавному перемиканні двох інших слайдів між собою, перший слайд просвічує. Для ліквідації цього бага встановлюємо затримку transition-delay для всіх слайдів, крім вибраного, а для нього зробимо z-index більше, ніж у всіх інших слайдів:
Slider .item ( opacity: 1.0; -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 0.2s; ) .slider input:nth-of-type(1):checked ~ .item:nth-of-type(1), .slider input:nth-of-type(2):checked ~ .item:nth -of-type(2), .slider input:nth-of-type(3):checked ~ .item:nth-of-type(3), .slider input:nth-of-type(4):checked ~ .item:nth-of-type(4), .slider input:nth-of-type(5):checked ~ .item:nth-of-type(5) ( transition: opacity 0.2s linear; -moz-transition : opacity 0.2s linear; -webkit-transition: opacity 0.2s linear; -o-transition: opacity 0.2s linear; z-index: 6; )
Щоб слайди не конфліктували з іншими елементами сайту (наприклад, не перекривали меню з z-index меншим або рівним 6), створюємо свій контекст для блоку