Изменяем дизайн слайдера (используется Nivo Slider)
В данном уроке мы рассмотрим, как модифицировать готовый плагин для того, чтобы его дизайн вписывался в общую концепцию проекта. В качестве плагина будем использовать отличный слайдер Nivo Slider. В уроке мы сделаем слайдер, который будет единственным элементом на странице. Однако все действия по модификации дизайна можно использовать для своих проектов, чтобы гармонично встраивать в них уже готовые элементы.
Всё можно менять и настраивать - если у вас есть свой PSD файл с дизайном, то вы сможете легко модифицировать плагин.
Шаг 1. Загружаем Nivo Slider
Переходим на сайт плагина Nivo Slider и загружаем самую свежую версию. В уроке используется версия 2.4, но вполне вероятно, что вы будете использовать уже другую версию, например 2.5 или 2.6.
Очень важно понимать, что мы стараемся избежать повторного изобретения велосипеда. Нужно использовать файл “demo.html”, который идет в комплекте плагина, в качестве основы для своих действий. Мы не будем удаляться слишком далеко от оригинала.
Для веб дизайнера важно научиться модифицировать чужой открытый код для выполнения своих задач. Конечно, хорошо, когда вы разбираетесь во всех тонкостях и нюансах языков программирования и поддерживаете свои знания в состоянии актуальности, потому что в этом случае ясно представляете, как работает чужой код. Однако, в большинстве случаев нужно лишь иметь базовые знания HTML и CSS и уметь читать документацию, чтобы успешно использовать уже готовое решение для своих проектов.
Шаг 2. Базовые установки
На данном шаге мы просто разберемся, как действует слайдер Nivo Slider. Каждый слайдер имеет свои особенности, поэтому стоит потратить немного времени, чтобы познакомиться со скриптом, который планируется к использованию в проекте.
Если бегло взглянуть на код для слайдера (в файле demo.html), то можно заметить, что для хранения стилей страницы используется файл “style.css”. А сам код HTML демонстрации весьма прост.
Рассмотрим код раздела header подробнее. Мы не будем его менять, но он нужен везде, где планируется использовать слайдер:
<!-- Обычно располагается в разделе <head> --> <link rel="stylesheet" href="/nivo-slider.css" type="text/css" media="screen" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="/jquery.nivo.slider.pack.js"></script>
А следующие строки используются для генерирования слайдера:
<!-- Располагаются в разделе <body> --> <div id="slider"> <img src="/images/slide1.jpg" alt="" /> <a href="http://dev7studios.com"> <img src="/images/slide2.jpg" alt="" title="#htmlcaption" /> </a> <img src="/images/slide3.jpg" alt="" title="This is an example of a caption" /> <img src="/images/slide4.jpg" alt="" /> </div>
Мы не будем использовать заголовки, поэтому следующие строчки можно смело удалить:
<div id="htmlcaption" class="nivo-html-caption"> <strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>. </div>
Итак, то, что нам нужно - это основной код HTML для генерации слайдера (показан во втором блоке кода выше). Так как мы не планируем использовать названия слайдов, то код может быть упрощен до следующего вида:
<div id="slider-wrapper"> <div id="slider"> <img src="/images/slide1.jpg" alt="" /> <img src="/images/slide2.jpg" alt="" /> <img src="/images/slide3.jpg" alt="" /> <img src="/images/slide4.jpg" alt="" /> </div> </div>
В итоге мы имеем пару вложенных элементов div
с изображениями.
Шаг 3. CSS для Nivo Slider
В нашем уроке основные изменения надо будет сделать в коде CSS. В файле style.css интерес представляет следующая секция:
/*============================*/ /*=== Custom Slider Styles ===*/ /*============================*/ #slider-wrapper { background:url(images/slider.png) no-repeat; width:998px; height:392px; margin:0 auto; padding-top:74px; margin-top:50px; } #slider { position:relative; width:618px; height:246px; margin-left:190px; background:url(images/loading.gif) no-repeat 50% 50%; } #slider img { position:absolute; top:0px; left:0px; display:none; } #slider a { border:0; display:block; } .nivo-controlNav { position:absolute; left:260px; bottom:-42px; } .nivo-controlNav a { display:block; width:22px; height:22px; background:url(images/bullets.png) no-repeat; text-indent:-9999px; border:0; margin-right:3px; float:left; } .nivo-controlNav a.active { background-position:0 -22px; } .nivo-directionNav a { display:block; width:30px; height:30px; background:url(images/arrows.png) no-repeat; text-indent:-9999px; border:0; } a.nivo-nextNav { background-position:-30px 0; right:15px; } a.nivo-prevNav { left:15px; } .nivo-caption { text-shadow:none; font-family: Helvetica, Arial, sans-serif; } .nivo-caption a { color:#efe9d1; text-decoration:underline; }
Если вы новичок в кодировании CSS, то код может выглядеть для вас пугающим. Но в действительности здесь представлен достаточно простой код стиля. Все, что нужно будет сделать, это изменить размеры и изображения. Нужно сделать так, чтобы плагин выглядел именно так, как требуется нам.
Первым делом нужно найти и изменить изображения, которые используются в слайдере, на наш вариант. Если вы откроете папку “/demo/images/”, то обнаружите несколько изображений, которые надо изменить:
- arrows.png (стрелки влево/вправо)
- bullets.png (точечный индикатор)
- slider.png (фоновая рамка)
- background.png (фон, по желанию)
- loading.gif (индикатор загрузки, по желанию)
Шаг 4. Изменяем изображения для плагина
Если бы мы разрабатывали плагин с нуля, то пришлось бы кропотливо работать над изображениями в Фотошопе. Однако, так как мы модифицируем готовый плагин (то есть с уже готовыми изображениями для фона, индикаторов и стрелок), то имеет смысл модифицировать готовые материалы.
Изменяем индикаторы
Начнем с файла “bullets.png”. Открываем его в Фотошопе:
Обратите внимание на структуру файла. В нем имеется два изображения, расположенные одно над другим. Это спрайт, который будет позиционироваться в коде CSS в нужное положение.
Создаем собственное изображение индикатора и сохраняем файл:
Для индикаторов мы не меняли размер изображения.
Изменяем стрелки
Со стрелками будет немного труднее, так как наш вариант будет немного больше оригинала. Открываем “arrows.png” в Фотошопе:
Оригинал стрелок представлен прозрачными изображениями. Это две стрелки, направленные в разные стороны, которые позиционируются в коде CSS.
Размер изображения 60x30px. Но мы планируем использовать более крупное изображение для стрелок. Наши стрелки будут иметь размер 70x65px и легкую тень.
Изменяем фоновую рамку
Демонстрация Nivo Slider использует рамку с абстрактными кругами, но мы планируем ее изменить, чтобы она сочеталась с дизайном проекта.
Размер оригинальной рамки 998x392px. Мы будем использовать рамку с размером 494x310px. Изображение вы можете взять из исходников.
Шаг 5. Сохраняем наши слайды.
Слайды в демонстрации NivoSlider имеют размер 618×246. Для нашего варианта будем использовать картинки 430x250px. Можно взять картинки из демонстрации плагина и обрезать их соответствующим образом.
Если вы планируете использовать свои изображения, то они должны иметь уникальные имена, и нужно указать путь к ним в документе demo.html.
Шаг 6. Изменяем CSS код для нашего варианта
Данный шаг наверняка потребует множества проб и исправления ошибок. Целью является изменение оригинального файла style.css так, чтобы слайдер соответствовал новому дизайну. Основная проблема заключается в том, что оригинальная демонстрация слайдера имеет совершенно другие размеры почти для всех элементов. Поэтому потребуется тщательная подгонка с большим количеством проб.
Пробы и коррекция ошибок в CSS может выполняться двумя различными способами. Первый, "трудный" способ - просто вносить изменения в код, сохранять его и смотреть изменения в браузере. Второй, "легкий" способ - использовать специальные плагины, например, Firebug для Firefox, для настройки свойств CSS непосредственно в браузере. Если у вас еще нет такого инструмента или вы не умеет им пользоваться, то вам следует как можно быстрее его освоить.
Ниже приводится код CSS, в котором комментарием “/*= НОВОЕ =*/” отмечены измененные свойства:
/*============================*/ /*=== Custom Slider Styles ===*/ /*============================*/ #slider-wrapper { background:url(images/slider.png) no-repeat; width:494px; /*= НОВОЕ =*/ height:310px; /*= НОВОЕ =*/ margin:0 auto; padding-top:23px; /*= НОВОЕ =*/ margin-top:50px; } #slider { position:relative; width:430px; /*= НОВОЕ =*/ height:250px; /*= НОВОЕ =*/ margin-left:32px; /*= НОВОЕ =*/ background:url(images/loading.gif) no-repeat 50% 50%; } #slider img { position:absolute; top:0px; left:0px; display:none; } #slider a { border:0; display:block; } .nivo-controlNav { position:absolute; left:163px; /*= НОВОЕ =*/ bottom:12px; /*= НОВОЕ =*/ background: #000000; /*= НОВОЕ =*/ -moz-border-radius: 10px; /*= НОВОЕ =*/ -webkit-border-radius: 10px; /*= НОВОЕ =*/ padding: 3px; /*= НОВОЕ =*/ border: 2px solid #CCC; /*= НОВОЕ =*/ opacity: 0.7; /*= НОВОЕ =*/ z-index: 99; /*= НОВОЕ =*/ } .nivo-controlNav:hover{opacity: 1;} /*= НОВОЕ =*/ .nivo-controlNav a { display:block; width:22px; height:22px; background:url(images/bullets.png) no-repeat; text-indent:-9999px; border:0; margin-right:0px; /*= НОВОЕ =*/ float:left; } .nivo-controlNav a.active { background-position:0 -22px; } .nivo-directionNav a { display:block; width:35px; /*= НОВОЕ =*/ height:65px; /*= НОВОЕ =*/ background:url(images/arrows.png) no-repeat; text-indent:-9999px; border:0; } a.nivo-nextNav { background-position:-35px 0; /*= НОВОЕ =*/ right: -40px; /*= НОВОЕ =*/ } a.nivo-nextNav:hover{right: -41px;} /*= НОВОЕ =*/ a.nivo-prevNav { left:-40px; /*= НОВОЕ =*/ } a.nivo-prevNav:hover{left: -41px;} /*= НОВОЕ =*/ .nivo-caption { text-shadow:none; ont-family: Helvetica, Arial, sans-serif; } .nivo-caption a { color:#efe9d1; text-decoration:underline; } .nivo-directionNav a{top: 40%;} /*= НОВОЕ =*/
Если внимательно посмотреть на изменения кода, то можно заметить, что все они (с комментарием “/*= НОВОЕ =*/”) попадают в одну из базовых категорий:
- Ширина
- Высота
- Позиционирование (влево, вправо, сверху, снизу)
Есть только два исключения: мы добавили цвет фона и скругленные углы для элемента “.nivo-controlNav”, и изменили положение по умолчанию для элемента “.nivo-directionNav a” (данный элемент предварительно позиционируется в другой таблице стилей, а мы изменяем его положение).
Также добавлено новое правило “a.nivo-prevNav:hover{left: -41px;}
” для левой и правой кнопок. Его назначение - сделать небольшой сдвиг кнопки при наведении курсора мыши на нее.
Если вы планируете использовать собственные размеры для слайдера, обратите внимание на два момента, где устанавливается общая высота и ширина слайдера. Это элементы “#slider-wrapper” и “#slider”, которые контролируют данные параметры - просто настройте их высоту и ширину в соответствии с размером своих слайдеров.
Последний шаг. Выводим кнопки перемещения вправо/влево
Последняя модификация касается файла demo.html. Нам нужно организовать вывод кнопок навигации. По умолчанию плагин Nivo Slider скрывает кнопки навигации и выводит их только при наведении курсора мыши на слайдер. Для нашего варианта дизайна кнопки должны быть видны всегда.
Для коррекции ситуации нужно просто добавить опцию к вызову плагина. В файле demo.html нужно найти следующие строки:
<script> $(window).load(function() { $('#slider').nivoSlider(); });
И добавить в вызов плагина опцию:
Модифицированный код будет выглядеть следующим образом:
<script> $(window).load(function() { $('#slider').nivoSlider({directionNavHide:false}); });
Готово!
Таким образом, можно модифицировать практически любой плагин для соответствия дизайну страницы. Нет необходимости писать собственный код, когда есть уже готовый функционал.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/9u6wkzAohH8/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
Каждый человек имеет право на собственное мнение — при условии, что оно совпадает с нашим Шоу Джордж Бернард - 1856-1950) - английский писатель. В своем творчестве ниспровергал догматизм и предвзятость, традиционность представлений |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.