Галерея в один ряд код html. Галерея на CSS. Мини-галерея jQuery «Touch-Gallery»

Как при помощи чистого css и пары вспомогательных картинок создать свою фотогалерею для сайта. Простой урок по верстке фотогалереи для веб-сайта .

Для организации фотогалереи на сайте часто используют готовые скрипты на PHP. Я пробовал пару-тройку раз заняться этим полезным делом и пришел к выводу, что если нужна динамическая галерея, где могут оценивать ваши работы другие люди, и где можно легко и быстро вставлять фотки и тексты описания к ним прямо с рабочего стола, то лучше воспользоваться готовыми онлайн сервисами, коих в сети целая куча. Вот хотя бы старый добрый Flickr .

Цеплять к своему сайту скрипт, потом настраивать его — тот еще геморрой. Те бесплатные скрипты, что лежат в сети, либо простые, но страшненькие в оформлении и глючные в работе, либо настолько тяжеловесные и перегруженные всякими излишествами, что править и затачивать их под свой сайт запаришься.

Но если вы хотите просто разместить на своем сайте несколько фоток с подписями, то это очень легко и красиво можно оформить с помощью чистого CSS и пары вспомогательных картинок, что мы сейчас и сделаем.

Для начала нам нужно заготовить парочку вот таких картинок:

Сразу поясним, для чего они у нас такие длинные. Обе картинки мы будем использовать фоном под наши превью (превью — уменьшенная копия фотографии).

Так как превью могут быть разного размера и ориентации (горизонтальные или вертикальные), и подписи к ним могут быть разной длинны, то мы сделаем следующую хитрость: привяжем первую картинку фоном к тэгу div , а вторую — к тэгу p , который задействуем для подписи.

В результате нижний край превьюшки будет всегда на одном и том же расстоянии от подписи, независимо от длинны подписи.

Еще нам понадобятся сами превьюшки фотографий. Большие фотографии мы разместим каждую на своей отдельной странице, с которой будет возврат на главную при помощи кнопки BACK.

Итак, запишем для начала код нашей главной страницы:






Фотогалерея | Урок с сайта сайт






Окно в небо





Злой индеец





Под крылом самолета





Насыпь камней на пирсе





Цветущий куст





Горячая каменная баба






Код совсем простой. Мы поместили содержимое страницы в «коробочку» — container , которую расположили по центру, а каждую превьюшку с подписью оформили отдельным div с классом tumb .

Рассмотрим теперь подробнее файл стилей CSS:

* {
margin: 0;
padding: 0;
border: 0;
}
a {
text-decoration: none;
}
body {
background: #fff;
}
#container {
width: 860px;
margin: 0 auto;
}
#header {
background: url(header.gif) no-repeat;
width: 860px;
height: 160px;
margin: 0 auto;
clear: both;
}
div.tumb {
background: url(tumb01.gif) no-repeat;
width: 210px;
float: left;
margin: 0 30px 20px;
}
div.tumb img {
margin:5px 4px;
}
div.tumb p {
background: url(tumb02.gif) no-repeat 0 100%;
font: 85% Verdana, Arial, sans-serif;
color: #333;
margin: 0;
padding: 0 25px 20px 10px;
}

Начнем по порядку. Для всей страницы разом мы установили поля, отступы и границы равными 0. Фон указали белого цвета, у ссылок выключили подчеркивание, а размер контейнера задали в 860 пикселей по ширине и автовыравнивание.

Для шапки нарисовали симпатичный зоголовок и поместили его там в виде фона, задав ширину и высоту. Это все просто. А вот дальше будет хитрость.

Для превьюшек, как уже говорилось, мы использовали div с классом tumb . При этом самому селектору tumb мы в правилах задали отображение фона в виде первой нашей картинки, показанной выше, указав ее ширину в 210 пикселей и запретив повтор. Высоту при этом не указываем!

В следующем наборе правил мы уже задали самим превьюшкам с тэгом img отступы, чтобы картинки не лепились одна к другой.

Обратите внимание на запись — div.tumb img . Она показывает, что мы не просто какому-то произвольному тэгу img задаем эти правила, а именно тому, который входит в блок div с классом tumb .

Далее мы для тэга p , опять же, входящего в блок div с классом tumb , задали размер и цвет шрифта, поля и отступы и, самое важное, указали в качестве фона вторую нашу замечательную картинку. При этом кроме запрета на повтор мы показали ее координаты относительно осей х и у, 0 и 100% соответственно.

То есть, несмотря на размер наших превьюшек и описательного текста (в разумных пределах конечно), эта фоновая картинка всегда будет показывать свою нижнюю часть и правый край, автоматически подстраиваясь под длину и ширину превьюшки.

Вот, собственно, и все!

Еще совет: не делайте с превьюшек ссылку просто на картинку в такой-то папке. Оформите каждую фотографию на отдельной странице, с более подробным описанием и ссылкой возврата на главную страницу. Это будет гораздо красивее и правильнее, нежели сиротливо прилепленная к левому верхнему углу фотка в окне браузера.

Надеюсь, вам понравилось. Enjoy!

Если есть вопросы, задавайте их в комментариях. С удовольствием отвечу.

UPD от 03.11.2018 : На сегодняшний день это уже морально устаревший способ - использовать в качестве подкладки фон из пары картинок. Все делается элементарно инструментами из арсенала CSS3.

В данном уроке мы разберем процесс создания адаптивной галереи миниатюр. Рассмотрим, как добиться решения определенных задач и обойти проблемы, которые могут проявиться в контексте большого проекта.

Введение

Прежде, чем окунуться в процесс, рассмотрим, что мы получим в результате работы. При показе демонстрационной страницы нужно изменить ширину окна браузера, чтобы увидеть реакцию нашего кода.

Стиль контейнера

Начнем создавать наш код CSS с задания ширины контейнера и центрирования его на странице. Таким образом, мы получим отличное, широкое пространство для работы с галереей:

Обратите внимание, что ширина установлена в процентах. Так мы получаем использование всего доступного пространства и гибкий шаблон. Нам нужно, чтобы дизайн смотрелся не только в нескольких определенных точках, а адаптировался к любому окну просмотра.

Основные стили галереи

Теперь перейдем к определению стилей для класса galleryItem . Установим цвет текста, размер шрифта и будем смещать элементы влево.

GalleryItem { color: #797478; font: 10px/1.5 Verdana, Helvetica, sans-serif; float: left; } .galleryItem h3 { text-transform: uppercase; } .galleryItem img { max-width: 100%; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

Также здесь заданы стили для изображений. Устанавливая свойство изображений max-width в значение 100%, мы получаем в результате адаптацию размера при уменьшении ширины окна просмотра. Также для картинок скругляются углы.

Работаем с колонками

Это наиболее важная часть нашего урока. Нужно разобраться как устанавливать ширину и поля для каждого элемента в галерее. Так все элементы располагаются в контейнере, то нужно использовать процентные размерности, чтобы они адаптировались к изменениям окна просмотра.

В дизайне демонстрационной страницы мы будем использовать пять колонок. разберемся с математикой для расчета полей. Между колонками будет поле шириной 4%. Умножив на 5, мы увидим, что 20% ширины уходит на поля. На содержание остается только 80%. То есть каждая колонка будет 16% шириной.

Теперь мы можем вставить данные значения в код CSS. Каждый классgalleryItem представляет одну колонку, то есть ширина будет 16% и поле 2% для каждой стороны, что в сумме даст 4%.

GalleryItem { color: #797478; font: 10px/1.5 Verdana, Helvetica, sans-serif; float: left; width: 16%; margin: 2% 2% 50px 2%; }

Данный набор стилей создаст отличный пятиколоночный шаблон, который будет хорошо смотреться на экранах размера 13 дюймов и больше.


Где шаблон будет смотреться коряво?

К сожалению, данный шаблон будет ломаться при уменьшении размера страницы. При ширине меньше 500px он становится абсолютно нечитаемым и корявым.

Для решения задачи мы будем использовать медиа запросы для переопределения подходящего размера колонок.

Определение критических точек

Существует множество решений для определения критических точек, на которых следует сосредоточиться при разработке дизайна. Рынок заполнен различными устройствами с разным размером экрана, и очень непросто учесть все возможные варианты.

Для упрощения задачи отбросим мысли о том, какой размер экрана наиболее популярен, и дадим возможность нашему шаблону самому определять критические точки. Если проанализировать точки, в которых шаблон ломается, мы сможем зафиксировать данные области и сделаем наш шаблон адаптирующимся под любое устройство.

Как определить критические точки?

Самый лучший способ - открыть страницу в браузере и уменьшать размер окна. Технически, наш шаблон никогда не сломается, так как будет изменяться масштаб. Однако, при размере окна около 940px колонка текста станет слишком узкой для гармоничного размещения текста:

Для исправления ситуации в данной точке надо сделать четыре колонки вместо пяти. Изменив ширину колонки до 21% мы решим задачу. Так как используются оба свойства “max-width ” и “max-device-width ”, то дизайн будет меняться и при изменении окна браузера и на устройствах с размером экрана меньше установленных значений.

@media only screen and (max-width: 940px), only screen and (max-device-width: 940px){ .galleryItem {width: 21%;} }

Добавление данного стиля решает задачу. Наш пяти колоночный дизайн отлично работает на экранах шире 940px, а для более узких превращается в четырех колоночный шаблон.

Операцию повторить

Теперь повторяем описанный выше процесс снова и снова. Уменьшаем размер окна и смотрим, когда дизайн перестанет функционировать. Следующая точка обнаруживается на 720px. Нужно изменить ширину колонки до 29.33%, чтобы получить трехколоночный шаблон:

@media only screen and (max-width: 720px), only screen and (max-device-width: 720px){ .galleryItem {width: 29.33333%;} }

Продолжаем процесс до получения одной колонки (размер окна приблизительно равен размеру экрана iPhone). Вот полный набор медиа запросов.

/* MМЕДИА ЗАПРОСЫ*/ @media only screen and (max-width: 940px), only screen and (max-device-width: 940px){ .galleryItem {width: 21%;} } @media only screen and (max-width: 720px), only screen and (max-device-width: 720px){ .galleryItem {width: 29.33333%;} } @media only screen and (max-width: 530px), only screen and (max-device-width: 530px){ .galleryItem {width: 46%;} } @media only screen and (max-width: 320px), only screen and (max-device-width: 320px){ .galleryItem {width: 96%;} .galleryItem img {width: 96%;} .galleryItem h3 {font-size: 18px;} .galleryItem p, {font-size: 18px;} }

Заключение

Теперь у нас есть отличная адаптивная галерея миниатюр, которая великолепно выглядит на любом устройстве или в любом окне браузера.

Вместо разработки шаблона под конкретный наиболее популярный медиа запрос мы анализировали функционирование нашего дизайна при уменьшении окна браузера и вносили изменения в критических точках, чтобы восстановить внешний вид.

iLoad это скрипт галереи изображений для вашего сайта написанный на javascript. iLoad распространяется бесплатно для некоммерческих проектов при условии сохранения копирайтов и ссылок в файле. На этой странице вы всегда можете скачать свежую версию этого скрипта фото галереи и найдете информацию о том как работать с iLoad.

Cкрипт галереи iload

Галерея iLoad позволит вам удобно и эффектно показать фотографии вашим посетителям. Внешний вид галереи легко изменяется и вы быстро сможете настроить галерею под стиль своего сайта. iLoad позволяет показывать одиночные изображения, группировать изображения и создавать слайд шоу. Галерея поддерживает все современные браузеры, а так же InternetExplorer с 6 по 9 версию. iLoad не использует сторонние фреймворки, такие как jQuery, Prototype и так далее!

Установка iload

Скачайте и распакуйте zip-архив с тремя файлами галереи iLoad, затем загрузите файлы на свой сайт. Откройте файл iLoad.js и измените путь до папки с изображениями на путь до папки с файлами iLoad на вашем сайте. Затем откройте страницу, на которой вы собираетесь использовать галерею, и подключите скрипт перед закрывающим тегом так, как показано ниже. Не забудьте изменить путь до файла со скриптом.

На этом установка закончена. Для корректной работы галереи DOCTYPE не обязателен. Если вы хотите подключить iLoad в шапку сайта, то уберите из самого конца файла скрипта вызов функции включения:

После этого вы сможете подключить скрипт в любое место страницы а инициализацию скрипта выполнить в нужный момент после загрузки страницы:

Использование

Для использования iLoad в обычном режиме к ссылке на изображение достаточно добавить атрибут rel="iLoad" , и изображение будет открываться не на новой странице а в галерее:

Название и описание

iLoad читает название и описание фотографии из атрибута title . Для того чтобы добавить название к фотографии, пропишите его в аттрибуте title в ссылке на большое изображение:

Для добавления описания так же пропишите его в том же атрибуте, но на этот раз используйте разделитель | . Сам разделитель можно изменить в параметре L.splitSign в файле iLoad.js . Посмотрите как оформляется название и описание:

Вы можете указать только описание без названия, просто пропустив его:

Сеты фотографий

Галерея изображений iLoad позволяет создавать сеты фотографий, то есть наборы (альбомы). Открыв фотографию, состоящую в сете, вы можете просматривать фотографии всего сета не закрывая iLoad и не перезагружая страницу. Так же группирование фотографий позволяет использовать слайдшоу. Чтобы создать сет используя ссылки, в атрибуте rel после "iLoad" поставьте разделитель | и напишите название сета. Вот пример создания простого сета:


Превью изображения или текст

Навигация

В зависимости от выбранной конфигурации панелей, кнопки управления появятся либо сразу под фотографией, либо чуть ниже на графической панели. Они идентичны. Панели можно отключить в настройках.

В сете переключение между соседними фотографиями возможно щелчками на левую и правую части изображения, при этом справа и слева будут показываться небольшие стрелки (если эта опция включена в скрипте).

Закрыть iLoad можно нажав на темной области вокруг вьюпорта, либо щелкнув по кнопке с крестиком на одной из панелей.

Возможно управление с клавиатуры. Для переключения в сете можно использовать стрелки влево и вправо или клавиши "П" и "С". Так же для открытия определенной фотографии можно воспользоваться одной из цифр. Слайдшоу запускается клавишей "Shift" или "Ш", а выключается клавишей "Ctrl" или "З". iLoad выключается клавишей "Esc".

Настройки

Ниже достаточно подробно описаны все настройки галереи. Вы можете изменять их динамически даже после инициализации галереи. Некоторые настройки потребуют для своего применения перезагрузить галерею функцией L.recreate()

Это ж надо было умудриться столько наснимать, что сделанные вами фотографии даже у тещи под кроватью лежат. Жена сказала, чтоб дома больше ни одного снимка не было? Ох-хо-хох! Тогда пора все свои работы переносить в виртуальное пространство. А для этого вам понадобится фотогалерея для сайта:

Фотогалерея для сайта

Очень часто фотогалерею можно спутать с фотоальбомом. Основным признаком галереи является «выставление на показ » сразу всех фотографий. А в альбоме снимки отображаются по одному.

Но такое деление является чисто условным, и нередко в интернете можно встретить образцы, которые просто не поддаются никакой классификации. Поэтому рассмотрим пример реализации классической фотогалереи на html . Но для начала разберемся, почему использование галереи предпочтительнее для сайта, чем фотоальбом:

  • Возможность продемонстрировать все изображения (фото ) сразу – иногда пользователям лень нажимать кнопки для перелистывания. А в классической фотогалерее все объекты сразу доступны для просмотра;
  • Простота реализации – стандартный образец можно легко создать с помощью html ;
  • Открытость – фотогалерея (по сравнению с альбомом ) обладает большей «открытостью », что на подсознательном уровне позволяет вызвать доверие со стороны пользователей.

В то же время галерея обладает и недостатками. Основной из них – это громоздкость. Из-за «массивных » размеров она занимает много место на странице сайта. Поэтому ее очень тяжело вписать в общий дизайн. Кроме этого фотогалерея обладает узким «спектром действия », потому что ее использование оправдывается лишь в полновесных версиях ресурсов. А реализация ее «классической » схемы для мобильных устройств весьма затруднена.

Пример классической фотогалереи

Простая фотогалерея для сайта представляет собой набор ссылок, к каждой из которых с помощью тега «прикручена » превьюшка основного изображения. Щелчок по ссылке переносит пользователя на другую веб-страницу, где «выставлена» полновесная фотография. Под ней находится еще одна гиперссылка, ведущая на основную страницу:


Конечно, данный пример того, как сделать фотогалерею на сайте, выглядит несколько «топорным». Но открытие основного изображения в отдельном окне избавляет от многих сложных приемов и позволяет отобразить фотографию «в полный рост».
Код главной страницы:

Фотогалерея

Код дочерней веб-страницы:


Назад

Фотогалерея на CSS

Предыдущий пример хоть и прост в реализации, но слишком тяжел. И больше похож на «костяк » простого сайта. Поэтому, чтобы не использовать в реализации фотогалереи несколько взаимосвязанных веб-документов, для обработки события (нажатия на превью картинки ) можно воспользоваться возможностями Javascript . Но пока мы воздержимся от программирования, и в следующем примере реализуем фотографию на основе CSS :


Нажатие на превьюшку фотографии приведет к увеличению масштаба. Кроме этого фотогалерея «умеет » подстраиваться под размеры окна браузера, пропорционально изменяя длину и ширину превью (уменьшая или увеличивая ). И все это лишь с помощью CSS и легкой html структуры:
Html код примера, как создать фотогалерею на сайте:

CSS фотогалереи:

#gall { position: relative; padding-top: 50%; -moz-user-select: none; user-select: none; } #gall img { position: absolute; top: 25%; left: 12.5%; max-width: 24.5%; max-height: 49.5%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); cursor: zoom-in; transition: .2s; } #gall img:nth-child(4n-2) {left: 37.5%;} #gall img:nth-child(4n-1) {left: 62.5%;} #gall img:nth-child(4n) {left: 87.5%;} #gall img:nth-child(n+5) {top: 75%;} #gall img:focus { position: absolute; top: 50%; left: 50%; z-index: 1; max-width: 100%; max-height: 100%; outline: none; pointer-events: none; } #gall img:focus ~ div { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #fff; cursor: zoom-out; }

Фотогалерея на основе Jquery

Кроме «непрограммных » образцов на сайте можно использовать фотогалереи, написанные на Jquery . Самостоятельное создание галереи на основе этой библиотеки потребует специальных знаний и навыков. Легче найти уже готовый вариант в интернете и установить его на свой сайт.


Скрипт фотогалереи для сайта представляет собой архив, из которого нужно извлечь программные файлы и разместить у себя на сайте.

Рассмотрим пошагово пример подключения Galleria к обычному html сайту:

  • Подключаем библиотеку Jquery у себя на веб-странице – для этого вставляем внутри тега строку:

Для проверки подключения библиотеки в тело страницы поместим проверочный скрипт:

$("body").text("jQuery works");

Если подключение произведено корректно, то при запуске веб-страницы в браузере будет отображен соответствующий текст:

  • Установка Galleria – на данном этапе следует скачать архив с фотогалереей для сайта и распаковать его в директорию, где находятся наш html файл. Для подключения плагина размещаем следующий код сразу под строкой, с помощью которой мы в предыдущем шаге включили поддержку Jquery :

А для проверки работоспособности плагина вместо предыдущего отладочного кода поместим этот:

if (Galleria) { $("body").text("Galleria works") }

Если галерея подключена правильно, то в браузере отобразится надпись «Galleria works »:

  • Устанавливаем параметры галереи и добавляем в нее изображения – сначала с помощью класса CSS установим длину, ширину и цвет галереи. Для этого пропишем значение соответствующих стилевых свойств.

Затем добавляем изображения для показа:

  • Активируем плагин и устанавливаем тему фотогалереи для сайта – чтобы сделать это, сразу под слоем изображений размещаем следующие строки кода:

В примере мы устанавливаем классическую тему. На сайте плагина доступны для скачивания и другие темы оформления , но все они платные:


Приведем весь код примера страницы с подключенным плагином:

Документ без названия .galleria{ width: 700px; height: 400px; background: #000 } Galleria.loadTheme("galleria/themes/classic/galleria.classic.min.js"); Galleria.run(".galleria");

Остальные варианты

Для сайтов, работающих на основе популярных php-движков, в интернете доступно множество специализированных плагинов (расширений ). Например, чтобы создать фотогалерею у себя на блоге, который работает под управлением WordPress , можно использовать плагин NextGen Gallery . Он является одним из самых популярных расширений для развертывания фотогалереи на базе WordPress .

Долго выбирал тему для сегодняшнего топика. В итоге заметил, что мы еще не делали подборок с галереями изображений . По моему отличная тема, так как галереи присутствуют у множества сайтов. Откровенно говоря, все они не очень привлекательны. Учитывая нынешние тенденции развития jquery, html5 и т. д. я подумал, ведь должны быть уже намного привлекательней решения чем те, которые встречались мне раньше. Итак. Потратив день, удалось найти огромнейшее количество скриптов. Из всей этой горы я решил отобрать только , ведь я люблю , как вы уже заметили по предыдущим постам.
Галерея изображений применима не только в случае с фотоальбомами . Скрипт можно использовать, думаю, что это даже правильней будет, в качестве портфолио для фотографов, дизайнеров и т. д. Jquery эффекты помогут привлечь внимание посетителей и просто придадут изящности вашему сайту.
Итак. К вашему вниманию коллекция jquery плагинов галерей изображений для сайта .
Не забываем комментировать и помните, чтоб не потерять эту подборку, вы можете добавить ее в избранное, нажав на звездочку внизу статьи.

PHOTOBOXБесплатная, легкая, адаптивная галерея изображений , в которой все эффекты, переходы сделаны средствами css3. Идеальна для создания сайта-потрфолио фотографа.

S GalleryПривлекательный Jquery плагин галереи изображений . Анимация работает с помощью css3.

DIAMONDS.JSОригинальный плагин для создания галереи изображений . Миниатюры имеют форму ромба , что в данный момент очень популярно. Такая форма сделана с помощью css3. Единственный минус этой галереи - это отсутствие лайтбокса, в котором бы открывалось фото в полный размер. То есть потребуется раками прикрутить плагин лайтбокса. Данный скрипт формирует адаптивную сетку изображений в форме ромба.

SuperboxСовременная галерея изображений с использованием Jquery, css3 и html5 . Мы все привыкли, что при клике на превью полное изображение открывается в лайтбоксе (всплывающем окне). Разработчики данного плагина решили, что лайтбокс уже отжил свое. Изображения в этой галереи открываются ниже превью. Посмотрите демо и убедитесь, что такое решение выглядит на много современней.
| Smooth Diagonal Fade GalleryСовременная галерея изображений в которой превью распределяются по всему пространству экрана . Скрипт умеет сканировать папку с фото на сервере, то есть не нужно вставлять каждое изображение по отдельности. Достаточно загрузить картинки в папку на сервере и в настройках указать путь к директории. Далее скрипт все сделает сам.

Gamma GalleryСтильная, легкая, адаптивная галерея изображений с сеткой в стиле Pinterest , которая сейчас стала очень популярна. Скрипт отлично работает как на стационарных компьютерах, так и на мобильных устройствах с любым разрешением экрана. Отличное решение для создания портфолио веб-дизайнера.

THUMBNAIL GRID WITH EXPANDING PREVIEWПлагин представляет собой адаптивную сетку изображений . При клике ниже выводится фото побольше и описание. Хорошо подойдет для создание портфолио.

jGalleryjGallery - это полноэкранная, адаптивная галерея изображений . Легко настраиваются эффекты, переходы и даже стиль.

Glisse.jsПростой, но очень эффектный плагин галереи изображений. Это именно то решение, когда нужно создать фотоальбом. Плагин поддерживает альбомы и имеет очень классный эффект перелистывания.

Mosaic FlowПростая, адаптивная галерея изображений с сеткой в стиле Pinterest .

GalereyaЕще одна стильная галерея с сеткой в стиле Pinterest с фильтром по категориям. Работает в браузерах: Chrome, Safari, Firefox, Opera, IE7+, Android browser, Chrome mobile, Firefox mobile.

least.jsОтличная бесплатная галерея изображений с использованием JQUERY, 5 и CSS3. Она имеет очень привлекательный внешний вид и, несомненно, привлечет внимание ваших посетителей.

flipLightBoxПростенькая галерея изображений. При клике на превью, в лайтбоксе открывается полное изображение.

blueimp GalleryГибкая галерея. Способна выводить в модальном окне не только изображения, но и видео . Отлично работает на сенсорных устройствах. Легко кастомизируется и есть возможность расширения функционала с помощью дополнительных плагинов (См. следующий плагин).