Создаем слайдер картинок с помощью jQuery и CSS3
В этом уроке мы создадим слайдер картинок с помощью “Nivo Slider jQuery Script” и CSS3. Мы будем использовать “Nivo Slider jQuery Script”, потому что он обладает хорошей функциональностью и бесплатный :). Этот плагин имеет 16 эффектов перехода, он прост и гибок.
HTML
Для начала вам понадобится Nivo Slider, а точнее 2 файла из состава плагина: “nivo-slider.css” и “jquery.nivo.slider.pack.js”. Вы найдете их в исходниках.
Далее создадим HTML разметку для страницы, на которой будет слайдер, а также подключим “Nivo Slider” CSS и JS файлы. Также нам необходимо подключить библиотеку jQuery, можно использовать последнюю версию размещенную на сервере Google, либо разместить у себя на сервере.
<html lang="en"> <head> <meta charset="utf-8"> <title>Slider Tutorial</title> <link rel="stylesheet" href="css/nivo-slider.css" media="screen"> </head> <body> <!-- jQuery & Nivo Slider --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="js/jquery.nivo.slider.pack.js"></script> </body> </html>
Для того чтобы активировать плагин необходимо добавить несколько строк кода до перед тегом </body>. Таким образом мы активируем плагин и зададим несколько опций: сделаем видимой навигацию слайдера, изменим прозрачность заголовка картинок и изменим текст кнопок навикации.
<script> $(window).load(function() { $('#slider').nivoSlider({ directionNavHide: false, captionOpacity: 1, prevText: '<', nextText: '>' }); }); </script>
HTML разметка слайдера
Сначала необходимо создать div с классами “slider-wrapper” и “futurico-theme”. Далее div с id “slider” и классом “nivoSlider”. Для каждого слайд будет содержаться в теге <img>.
<div class="slider-wrapper futurico-theme"> <div id="slider" class="nivoSlider"> <img src="img/slide1.png" alt=""> <img src="img/slide2.png" alt=""> <img src="img/slide3.png" alt=""> <img src="img/slide4.png" alt=""> </div> </div>
Стиль слайдера
Мы сделаем слайдер шириной 300px и высотой 180px. Также мы добавим 5px padding, поэтому необходимо вычесть из ширины и высоты по 10px. Также мы зададим цвет фона и круглые углы.
.futurico-theme.slider-wrapper { position: relative; width: 290px; height: 170px; margin: 0; padding: 5px; background: #141517; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .futurico-theme .nivoSlider { position: relative; width: 290px; height: 170px; } .futurico-theme .nivoSlider img { display: none; position: absolute; width: 290px; height: 170px; top: 0; left: 0; }
Что должно получиться на этом шаге:
Кнопки переключения слайдов
Создадим переключатели для картинок слайдера. Начнем с того, что расположим их снизу в центре. Если ваш слайдер будет содержать более 4 картинок, вам надо будет изменить значение «left», для расположения кнопок по-центру.
.futurico-theme .nivo-controlNav { position: absolute; bottom: -30px; left: 105px; }
Создадим круг для каждого слайда. Добавим фоновый цвет, тени и закруглим углы для создания круга.
.futurico-theme .nivo-controlNav a { display: block; float: left; width: 16px; height: 16px; margin-right: 5px; text-indent: -9999px; background: #141517; -webkit-border-radius: 16px; -moz-border-radius: 16px; border-radius: 16px; -webkit-box-shadow: inset 0px 1px 1px rgba(0,0,0, .5), 0px 1px 1px rgba(255,255,255, .05); -moz-box-shadow: inset 0px 1px 1px rgba(0,0,0, .5), 0px 1px 1px rgba(255,255,255, .05); box-shadow: inset 0px 1px 1px rgba(0,0,0, .5), 0px 1px 1px rgba(255,255,255, .05); }
Для активного слайда добавим зеленый градиент и изменим тени.
.futurico-theme .nivo-controlNav a.active, .futurico-theme .nivo-caption span { background: #a5cd4e; background: -moz-linear-gradient(top, #a5cd4e 0%, #6b8f1a 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a5cd4e), color-stop(100%,#6b8f1a)); background: -webkit-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); background: -o-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); background: -ms-linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); background: linear-gradient(top, #a5cd4e 0%,#6b8f1a 100%); -webkit-box-shadow: inset 0px 1px 1px rgba(255,255,255, .4), 0px 1px 1px rgba(0,0,0, .3); -moz-box-shadow: inset 0px 1px 1px rgba(255,255,255, .4), 0px 1px 1px rgba(0,0,0, .3); box-shadow: inset 0px 1px 1px rgba(255,255,255, .4), 0px 1px 1px rgba(0,0,0, .3); }
Навигация слайдера
Добавим CSS для навигационных стрелок слайдера (следующая и предыдущая картинка). Расположим их по-центру и зададим базовые параметры (font-family, font-size, color).
.futurico-theme .nivo-directionNav a { display: block; top: 60px; font-family: 'Consolas', sans-serif; font-size: 40px; color: #141517; text-shadow: 0px 1px 1px rgba(255,255,255, .05); } .futurico-theme a.nivo-prevNav { left: -40px; } .futurico-theme a.nivo-nextNav { right: -40px; }
HTML разметка заголовков
Для заголовков создадим div с классом “nivo-html-caption” и любым id. Для связи заголовка с картинкой в атрибуте “title” тега <img> укажите id заголовка.
<div id="slider" class="nivoSlider"> <img src="img/slide1.png" alt="" title="#caption1"> <img src="img/slide2.png" alt=""> <img src="img/slide3.png" alt="" title="#caption3"> <img src="img/slide4.png" alt=""> </div> <div id="caption1" class="nivo-html-caption"> <strong>New Project</strong> <span></span> <em>Some description here</em>. </div> <div id="caption3" class="nivo-html-caption"> <strong>Image 3</strong> <span></span> <em>Some description here</em>. </div>
Стиль заголовков
.futurico-theme .nivo-caption { padding: 5px 0; font-family: Helvetica, Arial, sans-serif; font-size: 12px; color: #e1e1e1; background: #000000; -webkit-border-radius: 0 0 3px 3px; -moz-border-radius: 0 0 3px 3px; border-radius: 0 0 3px 3px; } .futurico-theme .nivo-caption span { display: inline-block; width: 5px; height: 5px; margin: 0 5px 1px 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .futurico-theme .nivo-caption em { font-family: Georgia, sans-serif; font-size: 11px; color: #727581; }
На этом всё! Результат:
Нет комментариев