Страница с тройным слайдшоу
В данном уроке мы построим веб страницу, на которой используется три разных слайдшоу, которые объединены в один динамический элемент дизайна. Такой эффект отлично работает в портфолио дизайнера или фотографа. Для создания такой страницы понадобятся начальные знания HTML, CSS и jQuery.
Реальный пример использования такого элемента.
Для тех, кому есть что показать миру, очень важно представить свои работы в интересном и компактном виде. Эффект, который мы будем строить, успешно используется на сайте фотографа Jessica Kripp. Три независимых друг от друга слайдшоу действуют как один элемент. В итоге портфолио очень эффектно выглядит и запоминается посетителю.
Шаг 1. Разметка HTML.
В таких проектах основной шаблон страницы лучше всего начинать строить со статическими изображениями, а после завершения дизайнерской части работы приступать к играм с JavaScript и добавлению функционала слайдшоу.
Создаем основной контейнер, в котором располагаются три элемента div
, которые содержат по одному изображению. Плагин jQuery, который мы будем использовать позже, требует, чтобы каждое слайдшоу имело свой собственный контейнер.
<div id="container"> <div id="bigPhoto"> <img src="http://lorempixum.com/800/300/city/1" /> </div> <div id="smallPhoto1"> <img src="http://lorempixum.com/400/200/city/4" /> </div> <div id="smallPhoto2"> <img src="http://lorempixum.com/400/200/city/7" /> </div> </div>
Для изображений используем сервис LoremPixum, который предоставляет изображения любого размера для наполнения демонстрационных страниц. В вышеприведенном коде мы получаем три картинки: одну размером 800x300px и две - 400x300px.
На данном этапе наш элемент будет выглядеть так:
Шаг 2. Базовый код CSS.
Сначала установим стили для раздела body
. Проводим общий сброс, устанавливаем цвет фона и центрируем контейнер. Для контейнера используется ширина самого большого изображения (800 px), смещение 50px от верха страницы. Левое и правое поле получают значение “auto”, что центрирует наш контейнер по горизонтали.
* { margin: 0; padding: 0; } body { background: #291616; } #container { width: 800px; margin: 50px auto; }
Теперь установим стили для элементов div
фотографий. Важный момент - установить смещение smallPhoto1 влево, а smallPhoto2 - вправо. Таким образом, они разместятся в нужном положении рядом друг с другом. Также устанавливаем для каждого высоту, чтобы исключить возможные проблемы с шаблоном.
#bigPhoto { height: 300px; } #smallPhoto1 { height: 200px; float: left; } #smallPhoto2 { height: 200px; float: right; }
Теперь наша заготовка будет выглядеть следующим образом.
Шаг 3. Дополнительные инструменты.
Теперь внешний вид нашей страницы в целом готов и пора приступать к созданию динамики. Для этого нужно загрузить два инструмента JavaScript.
Первый - библиотека jQuery, которая не нуждается в представлении.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
А механизм нашего слайдшоу будет обеспечивать плагин jQuery Cycle, с помощью которого можно просто и быстро построить элемент для демонстрации слайдов.
<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script>
Также добавим плагин Modernizr, который делает нашу страницу максимально совместимой с IE при использовании HTML5 и CSS3.
Шаг 4. Оживляем слайдшоу
Использование плагина jQuery Cycle очень простое. У него есть множество опций и эффектов, но в нашем уроке мы будем использовать минимум функционала.
Сначала модифицируем немного наш код HTML. Плагин jQuery Cycle ищет элементы с классом “slideshow” и создает слайдшоу из их потомков. Добавим класс "slideshow" к нашим элементам div
для фотографий и добавим изображений. Таким образом, каждое слайдшоу будет содержать три слайда.
<div id="container"> <div id="bigPhoto" class="slideshow"> <img src="http://lorempixum.com/800/300/city/1" /> <img src="http://lorempixum.com/800/300/city/2" /> <img src="http://lorempixum.com/800/300/city/3" /> </div> <div id="smallPhoto1" class="slideshow"> <img src="http://lorempixum.com/400/200/city/4" /> <img src="http://lorempixum.com/400/200/city/5" /> <img src="http://lorempixum.com/400/200/city/6" /> </div> <div id="smallPhoto2" class="slideshow"> <img src="http://lorempixum.com/400/200/city/7" /> <img src="http://lorempixum.com/400/200/city/8" /> <img src="http://lorempixum.com/400/200/city/9" /> </div> </div>
Теперь нужно определить для каждого слайдшоу модель работы. Используем ID элементов и устанавливаем для них разные наборы свойств: задержку, скорость и эффект перехода.
<script type="text/javascript"> $(document).ready(function() { $('#bigPhoto').cycle({ delay: 300, speed: 2000, fx: 'fade' }); $('#smallPhoto1').cycle({ delay: 3000, speed: 2000, fx: 'fade' }); $('#smallPhoto2').cycle({ delay: 5000, speed: 2000, fx: 'fade' }); }); </script>
Шаг 5. Завершающие штрихи
Добавим заголовок и ярлык перед элементом div
bigPhoto:
<h1>Пример множественного слайдшоу</h1> <div id="slideshowTag">Стена фотографий</div> <div id="bigPhoto" class="slideshow"> <img src="http://lorempixum.com/800/300/city/1" /> <img src="http://lorempixum.com/800/300/city/2" /> <img src="http://lorempixum.com/800/300/city/3" /> </div>
Для ярлыка устанавливаем абсолютное размещение и отрицательное значение для правого поля, чтобы ярлык выступал за границы слайдшоу. Кроме того, необходимо учесть порядок наложения элементов на странице. Поэтому мы устанавливаем свойство для ярлыка и для элемента bigPhoto так, чтобы ярлык оказался сверху.
/*Заголовок страницы*/ h1 { color: #00bdf2; margin: 0 0 20px 0; font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 300; text-shadow: #291616 0px 0px 5px; } /*Ярлык*/ #slideshowTag { background: #00bdf2; color: #fff; font: 20px Helvetica, sans-serif; margin: 50px 0 0 -10px; padding: 15px; position: absolute; z-index: 1; /*Тени*/ -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.2); -moz-box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2); box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2); } /*Фотографии слайдшоу*/ #bigPhoto { z-index: -1; height: 300px; }
Готово!
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/WIM66n0VHz8/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 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 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Чтобы вырастить плодоносящий сайт - его полезно регулярно поливать и удобрять с помощью рекламы и оптимизации Компания "RedLine" |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.