Створюємо слайдер за допомогою Bootstrap. Створюємо власний слайдер на бутстрап за кілька простих кроків Адаптивна карусель для bootstrap 3
Twitter Bootstrap 3 є одним з найкращих фреймворків CSS, щоб розробляти та підтримувати системи керування контентом. З Bootstrap можна легко створювати блоги або портфоліо, використовуючи систему сіток Twitter Bootstrap (grid layout). В основі багатьох систем CMS, ми, як правило, маємо такий базовий компонент як "Slider" (Карусель), в основному це автоматично-послідовне відображення зображень, але також він може відображати останні завершені проекти, відгуки ваших клієнтів, опис спеціальних пропозицій, посилання на новини або останні статті із блогу. У цій статті ми розглянемо, як створити слайдер за допомогою компонента Carousel у Twitter Bootstrap 3 .
Введення в компонент Carousel Twitter Bootstrap 3
Розмітка для компонента каруселі виглядає так:
>З наведеного вище коду ми бачимо, що слайдер Bootstrap 3 ділиться на кілька частин:
- Вказівники
- Зміст слайдера
- Елементи управління
Щоб перетворити елемент divу слайдер, ми додаємо імена класів: carouselі slide. Клас carouselстворює ефект "каруселі", тобто змінює слайди по колу. Клас slideдодає ковзну анімацію з правої чи лівої сторони. Покажчики - це невеликі кола в нижній частині слайдера, вони визначають поточне положення слайда та кількість слайдів. Вказівники створюються за допомогою упорядкованого списку.
- >
- >
- >
Упорядкований список має клас carousel-indicatorsщо перетворює дочірні елементи у вигляді невеликих кіл. Кожен елемент liповинен мати атрибут data-targetз ідентифікатором батьківського контейнера Він також повинен мати атрибут data-slide-toз унікальним цифровим значенням, щоб посилатись на конкретний слайд, значення повинні починатися з "0".
>
...
Кожен елемент із класом itemмає два підрозділи: imageі carousel-caption. Зображення використовується як фон для слайда. Елемент із класом carousel-captionрозташований над зображенням, і використовується як заголовок слайда. Усередині carousel-caption, ми можемо додати
або теги, або навіть обидва.
Управління здійснюється стрілками вліво та вправо, вони використовуються для зміни слайдів вручну.
"glyphicon glyphicon-chevron-left">
>
>
"glyphicon glyphicon-chevron-right">
>
>
Там має бути два елементи: по одному для кожного напряму. Перший елемент матиме spanелемент із класами glyphicon glyphicon-chevron-left, який є значком зі стрілкою вліво, а другий елемент матиме класи glyphicon glyphicon-chevron-rightце стрілка вправо. У Bootstrap для відображення іконок ми можемо використовувати шрифти замість зображень.
От і все! Ви вдало створили слайдер для вашого сайту. Крім того, ви не написали жодного рядка коду JavaScript, але bootstrap.js зробив все за вас.
Установки Carousel
Для додаткового налаштування слайдера можна додати кілька атрибутів data-*для батьківського контейнера каруселі
- "data-interval" використовується для вказівки інтервалу часу між перемиканням слайдів. Він набуває числового значення, і число має бути в мілісекундах.
- "data-pause" використовується для визначення моменту, коли подія "пауза" буде викликана. Наприклад, коли вона дорівнює " hover", перемикання слайдів зупиняється, коли миша перебуває над слайдером.
- "data-wrap" є булевим атрибутом і дозволяє встановити, чи слід відновити перемикання слайдів, якщо кінець списку слайдів буде досягнуто.
Налаштування з jQuery
Якщо ви хотіли б використовувати jQuery та data-* атрибути, Bootstrap дозволяє ініціалізувати за допомогою JavaScript. Для цього ви можете написати наступний код:
$(".carousel") .carousel();
Налаштування каруселі можна встановити за допомогою параметрів. Наприклад:
$(".carousel" ) .carousel ((
interval: 2000 ,
pause: "hover",
wrap: true
}
)
;
Ви також можете викликати вручну події слайдера, використовуючи наступний код:
- .carousel("pause") // пауза
- .carousel("cycle") // увімкнути слайди
- .carousel(3) // показати четвертий слайд
- .carousel("prev") // показати попередній слайд
- .carousel("next") // показати наступний слайд
Наведені вище методи можуть бути викликані з будь-якого коду JavaScript, щоб керувати звичайною роботою слайдера. Я вважаю, що prev і next методи дуже корисні, якщо я хочу показати мої власні кнопки замість стандартних стрілок. Особливо коли вони знаходяться за межами макета каруселі.
Висновок
Ця стаття має бути корисною для тих, хто хоче дізнатися як створити слайдер без написання тисячі рядків коду JavaScript. Безперечно, це дозволить збільшити швидкість розробки. Найголовніше, що це рішення кроссбраузерно, тому вам не доведеться рвати на собі волосся, щоб змусити його працювати в старих браузерах.
Якщо у Вас виникли питання, то для якнайшвидшого отримання відповіді рекомендуємо скористатися нашим
Компонент слайд-шоу для циклічного повторення елементів – карусель зображення чи текстові слайди.
Як це працює
"Карусель" - це слайд-шоу для відображення серії вмісту, створена на основі CSS 3D-трансформацій та трохи на JS. Вона працює з текстом, зображеннями чи звичайною розміткою. Вона також підтримує кнопки “next/prev”.
приклад
Карусель автоматично не нормалізує розмір вмісту слайдів. Тому вам можуть знадобитися додаткові утиліти для надання вмісту потрібного розміру. Поки каруселі підтримують кнопки prev/next, їх не треба додавати явно. Додайте та налаштовуйте їх самостійно.
Задайте унікальний id класу.carousel для можливості гнучкого управління, особливо якщо ви використовуєте багато каруселів на сторінці.
Тільки слайди
Ось приклад каруселі лише зі слайдами. Відзначимо наявність класів.d-block та.img-fluid у зображеннях каруселі – їх мета у тому, щоб запобігти дефолтному вирівнюванню зображень браузером.
З органами управління
Додає кнопки prev/next:
З індикаторами
Ви також можете додати індикатори каруселі, поряд з органами управління.
Потрібен початковий активний елемент
Необхідно додавати клас.active в один із слайдів, інакше карусель не буде видно.
З написами
Додайте написи до слайдів за допомогою додавання елемента класу.carousel-caption в будь-який елемент каруселі класу.carousel-item . Написи легко приховати на менших пристроях, використовуючи утиліти . Вони сховані спочатку за допомогою класу.d-none і показуємо їх знову на середніх пристроях за допомогою класу.d-md-block.
Мітка першого слайду
Nulla vitae elit libero, pharetra augue mollis interdum.
Мітка другого слайду
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Мітка третього слайду
Praesent commodo cursus magna, vel scelerisque nisl consectetur.
...
Використання
Через атрибути
Атрибут data-slide приймає значення prev або next, які змінюють позицію слайда щодо його поточної позиції. Або використовуйте data-slide-to для переходу на слайд з індексом, наприклад, 2: data-slide-to="2", індекси слайдів починаються з 0 .
Атрибут data-ride="carousel" використовується для створення анімації каруселі. Його не можна поєднувати з очевидною ініціалізацією каруселі через JavaScript.
Через JavaScript
Викликайте карусель вручну:
$ (".carousel"). carousel()Параметри
Параметри можна надсилати через атрибути або JavaScript. Для використання атрибутів додайте назву параметра до data- , наприклад: data-interval="" .
Ім'я | Тип | За замовч. | Опис |
---|---|---|---|
interval | число | 5000 | Час затримки між автоматичною зміною слайду. Якщо false – карусель не автоматично змінюватиме слайди. |
keyboard | boolean | true | Чи реагуватиме карусель на події клавіатури. |
pause | рядок | boolean | "hover" |
Якщо варто "hover" - зміна слайдів гальмується по mouseenter , і починає зміну по mouseleave. Якщо false – наведення на карусель не зупинить зміну слайдів. Пристрої, що активуються дотиком: "hover" - пауза при touchend (коли користувач закінчив взаємодію з каруселлю) на два інтервали, потім знову зміна слайдів. Зауважте, що ця поведінка – доповнення до описаної вище поведінки миші. |
ride | рядок | false | Автозміна слайдів каруселі після першої ручної зміни слайду користувачем. Якщо carousel – автозміна вмикається після завантаження. |
wrap | boolean | true | Чи повинна карусель змінюватись плавно чи дискретно. |
Методи
Асинхронні методи та переходи
Усі методи API асинхронніта запускають перехід. Вони повертаються функції, що їх викликала, з початком переходу, але до його кінця. Плюс, виклик методу до компоненту, що виконує перехід, буде проігноровано.
.carousel(options)
Ініціалізує об'єкт object каруселі зі встановленими параметрами та починає зміну слайдів.
$ (".carousel"). carousel (( interval : 2000 )).carousel("cycle")
Змінює слайди каруселі зліва направо.
.carousel("pause")
Зупиняє зміну слайдів.
.carousel(number)
Прокручує слайди до певного моменту (засновано на 0, схоже на ряди).
.carousel("prev")
Прокручує до попереднього слайду. Повертає значення функції-виклику до того, як елемент-«мета» показаний(Тобто до того, як виникає подія slid.bs.carousel).
.carousel("next")
До наступного слайду. Повертає значення функції-виклику до того, як елемент-«мета» показаний(Тобто до того, як виникає подія slid.bs.carousel).
.carousel("dispose")
Знищує карусель елемент.
Події
Карусель у Bootstrap має в своєму розпорядженні дві події для використання функціональності. В обох подій є такі додаткові властивості:
- direction: Напрямок, у якому рухаються слайди ("left" або "right").
- relatedTarget: Елемент DOM, який рухається на місце пролістанного слайда.
- from: Індекс поточного слайду
- to: Індекс наступного слайду
Усі події каруселі запускаються безпосередньо в каруселу (тобто в
Доброго часу доби всім охочим вивчити щось нове з елементів фреймворку Bootstrap. Сьогоднішньою темою стане слайдер Бутстрап на кшталт «Карусель». Це популярний елемент, який є практично на кожному веб-сайті.
Тому я розповім вам, як створити слайдер «Карусель», які для цього знадобляться вбудовані інструменти, як можна налаштувати параметри, а в кінці статті покажу реалізацію конкретного прикладу. А тепер уперед за справу!
Все про інструменти Bootstrap Carousel Plugin
Галерея фотографій типу «Карусель» використовується для презентації нових пропозицій, продукції, переліку акцій, що діють, зручного перегляду портфоліо і т.д. Тому на сьогоднішній день важливо вміти працювати з цим плагіном під офіційною назвою Bootstrap Carousel Plugin.
Варто відразу помітити, що описуваний елемент належним чином не підтримується в браузері Internet Explorer 9 та ранніх версіях. Однак чудово працює в (для WordPress, Joomla! та інших двигунів виконати підключення фреймворку досить просто).
Для того, щоб з легкістю оперувати всіма параметрами та швидко налаштовувати слайдер, вам необхідно вивчити основні вбудовані класи Бутстрапа 3.
Клас | Призначення |
carousel | Створює сам слайдер "Карусель". |
slide | Додає за допомогою css ефект анімації та переходів під час перемикання між слайдами. Клас не є обов'язковим. |
carousel-indicators | Додає так скажемо панель управління у вигляді невеликих точок знизу кожного зображення, за якими можна швидко переходити на будь-яку картинку. Клас не є обов'язковим. |
carousel-inner | Додає самі слайди до галереї. |
carousel-caption | Відповідає за підпис графічних файлів. Можна вмикати за бажанням. |
item | Визначає набір контенту кожного слайда. |
Right / left carousel-control | Додає праву та ліву кнопки відповідно до назви для перемикання між кадрами. |
Крім цього, варто знати й інші особливості верстки подібних галерей.
Для початку створення самого блоку «Каруселі» вимагає оголошення id="myCarousel"для коректного функціонування останньої.
У цьому ж div потрібно прописати атрибут data-ride="carousel", який вказує, що завантаження анімації має відбуватися відразу разом із завантаженням сторінки.
Тепер перейдемо до індикаторів. У кожному тегу варто прописати парочку атрибутів: data-target, який вказує на ідентифікатор конкретної «Каруселі», та data-slide-to, Який визначає до якого номера кадру варто перейти.
Щодо кнопок, що перемикають зображення вперед або назад, то для їх реалізації варто прописати атрибут data-slideз ключовим словом або prev, або next.
Ось тепер ви знаєте про базові елементи фреймворку, завдяки яким можна певним чином редагувати відображення слайдера. Природно, ви можете вимкнути автоматичне перегортання кадрів, підписи до зображень або бічні кнопки.
Альтернативні механізми керування
Крім використання вбудованих класів у Bootstrap можна звернутися за допомогою до . Так, існує безліч методів і опцій в JS, які реалізують ті самі дії, тільки через інструмент $.carousel (). Серед них можна перерахувати такі, як:
Контрольний за знаннями
Ну а тепер настав час перевірити, як ви засвоїли матеріал, та закріпити отримані знання. Для цього я опишу кожну дію, яку вам потрібно буде зробити на шляху створення «Каруселі».
Для початку вам необхідно підключити потрібні скрипти та стилі. Я віддаю перевагу, але ви можете завантажити фреймворк на офіційному сайті ( http://getbootstrap.com/) і помістити завантажені файли в корінь каталогу з проектом.
Якщо ви зі мною солідарні, то у шапці документа прописуємо:
1 2 3 |
Якщо ви прихильник другого способу, то замість першої частини посилання вам потрібно вставити шлях до файлу.
Тепер залишилося впровадити у слайдер. Для цього використовуйте свої отримані знання та прописуйте потрібні шматки коду по порядку:
- відкриття загального блоку, що відповідає за описуваний інструмент;
- блок для вказівки індикаторів керування;
- блок для самих слайдів;
- реалізація бічних клавіш.
Виключатися з цього переліку може лише другий та останній div-и.
Тепер ви точно готові до написання програмного коду.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
/*Створюю основний блок*/ |
/*Створюю основний блок*/
Компонент слайд-шоу для перебору зображень або слайдів тексту-каруселі. У браузерах з підтримкою Page Visibility API , карусель дозволить уникнути перемикання слайдів, коли веб-сторінки не видно користувачеві (наприклад, коли браузер неактивний, вікно браузера згорнуто і т. д.). Вкладені каруселі не підтримуються.
приклад
Анімація не підтримується в Internet Explorer 9
Bootstrap виключно використовує CSS3 для анімації, але Internet Explorer 9 не підтримує необхідних CSS властивостей. Таким чином, немає переходу між слайдами анімація під час використання цього браузера. Ми свідомо вирішили не включати на основі jQuery нейтралізації для переходів.
Початковий активний елемент потрібно
На.active клас повинен бути доданий до одного зі слайдів. Інакше каруселі не будуть видно.
Додаткові заголовки
Легко додайте заголовки до слайдів з.carousel-caption елемент у будь-який.carousel-item. Місце просто про додатковий HTML-код у там, і він буде автоматично вирівняно і відформатовано.
First slide label
Nulla vitae elit libero, pharetra augue mollis interdum.
Second slide label
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Third slide label
Praesent commodo cursus magna, vel scelerisque nisl consectetur.
Питання доступності
Компонент карусель взагалі не відповідає стандартам доступності. Якщо вам потрібна сумісність, будь ласка, розгляньте інші варіанти подання вашого Контенту.
Використання
Кілька каруселів
Каруселі вимагають використання id на крайній контейнер (в.carousel) для управління каруселлю, щоб нормально функціонувати. При додаванні кількох каруселів або при зміні карусель id обов'язково оновлювати відповідні елементи керування.
За допомогою даних атрибутів
Використання атрибутів даних легко контролювати положення каруселі. data-slide можна за запитами prev або next, що змінює положення повзуна щодо його поточної позиції. Крім того, використовувати data-slide-to здати індекс сировинних слайд каруселі data-slide-to="2" , який зміщує положення слайд з визначенням індексів починаючи з 0 .
data-ride="carousel" атрибут використовується для позначення каруселі як анімація, починаючи з завантаження сторінки. Він не може бути використаний у поєднанні з (зайве) явний JavaScript ініціалізація тієї ж каруселі.
Через JavaScript
Викличте карусель вручну з:
$ (".carousel"). carousel()Варіанти
Параметри можуть надсилатися через атрибути даних або JavaScript. Для атрибутів даних введіть назву параметра data- , наприклад data-interval="" .
Методи
.carousel(options)
Ініціалізує карусель із опціями object і починає перебирати предмети.
$ (".carousel"). carousel (( interval : 2000 )).carousel("cycle")
Цикли за елементами каруселі зліва направо.
.carousel("pause")
Зупиняє карусель від перебору елементів.
.carousel(number)
Цикли каруселі для конкретного кадру (з урахуванням 0, аналогічно масив).
.carousel("prev")
Цикли до попереднього пункту.
.carousel("next")
Цикли до наступного пункту.
Події
Bootstrap класу карусель надає дві події для навішування на функціональність каруселі. Обидві події мають такі додаткові властивості:
- direction: напрямок, у якому каруселі-це відкатні (або "left" або "right").
- relatedTarget: DOM елемент ковзнув на місце як активний елемент.
Усі події карусель вистрілив у собі каруселі (тобто.
Реалізуємо слайдер на Фреймворку bootstrap, який також відомий як Twitter Bootstrap. Для цього перейдемо на сайт Bootstrap, завантажуємо його файли до себе на комп'ютер, і дані файли перенести у своє середовище розробки.
Я заздалегідь підготував всю структуру, підключив їх до них в index файлі, а ви можете завантажити весь архів за посиланням нижче.
Розпакуйте його та перенесіть усі файли у своє середовище розробки.
Розглянемо структуру архіву
Пробіжимося за його структурою архіву, розглянемо, що в ньому знаходиться.
Відкриваємо index файл, у самому верху підключена бібліотека Jquery , за нею підключений фреймворк bootstrap з розширенням js, який знаходиться в папці JS, за ним підключаємо bootstrap з розширенням CSS, і нижче підключаємо файл, де будемо писати свої стилі, все це знаходиться в папці CSS . У папці fonts розташовані іконки, які використовує bootstrap, в Img розташовані картинки на слайдер і картинка на задньому фоні.
Це і весь шаблон, і вся його структура, далі приступимо до опису каркаса.
Описуємо каркас слайдера
Створюємо блок div з ідентифікатором слайдера id="dws-slider", додаємо клас "carousel slide".
Потім прописуємо кожен елемент слайду в окремому блоці і робимо таких три штуки.
(.item>img+.carousel-caption>h3.text-uppercase+p)*3
І для того щоб відобразився перший слайд потрібно додати для першого елемента клас .active . Потім заповнюємо блоки текстовим змістом.
Тепер додамо елементи керування з боків слайдера.
Previous Next
Зупинимо тимчасово автолистинг.
Додамо показники прокручування.
Описуємо стилі та анімацію
Перейдемо у файл стилів та опишемо блоки з текстом.
Carousel-inner h3 ( background-color: rgba (20, 49, 68, 0.6); padding: 20px; ) .carousel-inner p ( font-size: 18px; background-color: rgba (30, 29, 29, 0.6) ), padding: 20px;
Надамо їм ключові кадри і зробимо анімацію.
Carousel-inner h3 ( background-color: rgba (20, 49, 68, 0.6); padding: 20px; animation: anim-H3 1.3s ease-out; ) .carousel-inner p ( font-size: 18px; background- color: rgba(30, 29, 29, 0.6); padding: 20px; animation: anim-P 1.6s ease-out; ) @keyframes anim-H3 ( from ( opacity: 0; transform: translateX(-2000px); ) to ( opacity: 1; transform: translateX(0); ) ) @keyframes anim-P ( from ( opacity: 0; transform: translateX(2000px); ) to ( opacity: 1; transform: translateX(0); ) )
Адаптуємо блоки з текстом
Для того, щоб коректно працювали стилі медіа запитів, пропишемо мета тег viewport.
Переходимо у файл медіа та опишемо в ньому стилі для блоків з текстом під різні розширення.
Carousel-inner h3 ( font-size: 20px; padding: 15px; ) .carousel-inner p ( font-size: 16px; padding: 10px; ) @media all and (max-width: 768px) ( .carousel-caption ( bottom: 10%; ) .carousel-inner h3 ( font-size: 18px; ) .carousel-inner p ( font-size: 14px; ) ) ( display: none; ) .carousel-inner p ( display: none; ) )
Потім можна встановити автоскрол в 7 сек, і слайдер у нас готовий.
Сподобався приклад реалізації слайдера на Bootstrap 3, поділися їм із друзями у соціальних мережах.
Урок підготував Горєлов Денис.