Скрипт фотогалереи html. Галерея на CSS

Медиа-платформа Cincopa предлагает программу для создания фотогалереи, которая совместима, практически с любым сайтом или блогом. Создайте фотогалерею, используя пошаговый интерфейс (wizard) и вставляйте ее в любые веб-страницы, которые принимают HTML или опубликуйте ее в качестве RSS канала. Она также полностью совместима с несколькими CMS системами, такими как WordPress, Drupal, Joomla, TypePad, MediaWiki, Ning, Blogger, vBulletin, Weebly, WordPress MU и Buddy Press.

СОЗДАТЬ ФОТОГАЛЕРЕЮ ДЛЯ ВАШЕГО САЙТА ИЛИ БЛОГА ПРОСТО И БЕСПЛАТНО!

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

Как это работает

1 Выбери один из наших удивительных скинов

2 Загрузи свои файлы на,облако” Cincopa

3 Получи простой код и вставь на своем сайте

ВЫБЕРИ СКИНЫ ДЛЯ СВОЕЙ ФОТОГАЛЕРЕИ

Более 40 скинов на выбор, включая Flash, Cooliris 3D, Lightbox, jQuery и многие другие. Настрой параметры и просмотри фотогалереи в другом окне.

Загрузи свои фотографии

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

СОЗДАЙ ПРОСТОЙ КОД ФОТОГАЛЕРЕИ ДЛЯ РАЗМЕЩЕНИЯ НА ВЕБ-САЙТЕ

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

Cincopa это самая
полная платформа мультимедии НАЧАТЬ СЕЙЧАС » ВЗГЛЯНИ НА НАШИ УДИВИТЕЛЬНЫЕ СКИНЫ ДЛЯ ФОТОГАЛЕРЕЙ

Проверьте эти удивительные демо фотогалерей:

  • Адаптивная фотогалерея HTML5

    Новый адаптивный дизайн фотогалереи совместим с любой HTML веб-страницой,со всеми популярными CMS системами и сотнями социальных сетей.

  • Флеш (FLASH) ФОТОГАЛЕРЕЯ

    Создай флеш фотогалерею и добавь фоновую музыку. Посмотри на Iphone или другом мобильном устройстве. Cincopa автоматически преобразует вашу фото галерею в наиболее подходящий формат для любого устройства, такой как.mp4 и 3gpp.

  • 3D COOLIRIS ФОТО ГАЛЕРЕЯ

    Удиви свою аудиторию Cooliris 3D Wall фотографиями. Cincopa добавит ссылку на ваших фотографиях, что позволит вашим посетителям просматривать их в потрясающем Cooliris 3D просмотре.

  • Карусель (CAROUSEL) ФОТОГАЛЕРЕЯ

    Авто-продвижение, клик или hover-эффект чтобы просмотреть свои фотоснимки. Это галерея на основе JQuery с Лайтбокс зумом в функциональности и плавающей панелью управления.

  • ТАМБНЕЙЛ (THUMBNAIL) ФОТОГАЛЕРЕЯ

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

  • Переходные ФОТОГАЛЕРЕИ

    Разнообразие переходов доступных для вашей фотогалереи добавит уникальность вашей презентации. Установите время перехода между фотографиями на 1/1000-ой секунды. Выбери из автопрокрутки, поворот изображений, выцветание в/ из, петля и т.д.

  • Лайтбокс (LIGHTBOX) ФОТОГАЛЕРЕЯ

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

  • ФОТОГАЛЕРЕЯ С МУЗЫКОЙ

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

  • ВЫДЕЛЕННЫЕ СЕРВЕРА CINCOPA БЫСТРО,НАДЕЖНО И БЕЗОПАСНО ХРАНЯТ И ОБЕСПЕЧИВАЮТ БЕСПЕРЕБОЙНЫЙ ДОСТУП К ВАШИМ ФОТОГРАФИЯМ В ИНТЕРНЕТЕ

    Все ваши фотографии являются полностью частными. Сервера Cincopa используют два набора государственных / частных ключей, шифрования ключом длиной в 1024 бит и алгоритм хэширования MD5 и также механизм Token. Никто не может получить доступ к фотографиям без вашего разрешения. Дополнительные причины по которым вы должны использовать серверы Cincopa для хостинга файлoв:

  • 44 скина на выбор
  • Полнoе резервнoе копирование,чтобы сохранить ваши фотографии в безопасности
  • Облачные вычисления - надежный доступ к файлам с любого компьютера или другого устройства
  • Показатели использования хранения и использования трафика
  • Автоматическое изменение размера фотографий
  • Полная масштабируемость - от персональных блогов и малого бизнеса, до крупных предприятий
  • Полная поддержка для IPhone, IPad, Blackberry и других КПК и смартфон технологий
  • 100% бесплатный аккаунт дает 400 Мб онлайн хранения и 200 Мб использования трафика в месяц, гораздо больше, чем нужно для большинства фотогалерей
  • Покупка пакета увеличения дискового пространства и трафика, в любое время, без риска
  • Бесплатные ознакомительные версии профессиональных пакетов!
  • В данном уроке мы разберем процесс создания адаптивной галереи миниатюр. Рассмотрим, как добиться решения определенных задач и обойти проблемы, которые могут проявиться в контексте большого проекта.

    Введение

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

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

    Начнем создавать наш код 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;} }

    Заключение

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

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

    Готовы поупражняться в использовании новых знаний о CSS? В этом практическом уроке вам предстоит узнать, как сделать адаптивную галерею в виде квадратных плиток, применяя полученные навыки. Ознакомьтесь с планом урока, после чего приступим к делу.

    План практического урока

    Итак, вам наверняка интересно, как будет выглядеть результат ваших трудов по завершению практики. Мы сразу продемонстрируем вам макет будущей фотогалереи:

    Пошаговый план создания этой галереи следующий:
  • Разработка адаптивной сетки.
  • Оформление миниатюр.
  • Стилизация подписей.
  • Финальные штрихи.
  • Дополнительно: подключение плагина для всплывающих окон.
  • Загрузка файлов

    Скачайте архив с файлами и откройте в удобном для вас редакторе кода файлы gallery.html и style.css (из папки css). Как и в предыдущей практике, в теге мы заранее подключили файл сброса стилей (на этот раз Reset.css вместо Normalize ) и основную таблицу стилей (пока что пустую), а также шрифт Google Fonts. Дополнительно мы добавили еще одну таблицу стилей lightbox.min.css , а в конце документа - скрипт lightbox-plus-jquery.min.js . Зачем нужны эти два файла, мы скажем позже.

    Создание фотогалереи

    Изучите структуру HTML-страницы. В теле документа расположен блок-контейнер, в котором есть заголовок и основной блок с идентификатором #gallery . Внутри блока галереи находится девять HTML5-тегов с классом.photo , каждый из которых содержит тег с миниатюрой изображения и тег с подписью к фото. Кроме этого, каждое изображение обернуто в тег , который содержит ссылку на соответствующий полноразмерный графический файл.

    Перед началом работы хотелось бы сразу упомянуть о нескольких моментах:
    • В создаваемой нами тестовой галерее все миниатюры фотографий были подготовлены заранее: они имеют одинаковую форму (квадрат) и одинаковые размеры (300×300 пикселей). При этом оригинальные фото могут иметь совершенно другие размеры и пропорции. Квадратные миниатюры одинакового размера позволяют создать элегантную ровную сетку, без необходимости подгонять оригинальную фотографию под форму квадрата, тем самым искажая ее вид. В реальной жизни созданием миниатюр чаще всего занимается специальный скрипт, поскольку фотографий на сайте может быть много и обрезать каждую вручную очень долго.
    • Как упоминалось ранее, каждая миниатюра служит ссылкой на полноразмерное фото. На данном этапе, если вы кликните по ней, фото откроется на новой странице. На современных сайтах такое уже встречается нечасто: скорее всего, вы замечали, что просмотр увеличенной фотографии реализовывается во всплывающем окне, и пользователь остается на той же странице, что весьма удобно. Поэтому, несмотря на то, что наш учебник не посвящен языку JavaScript, всё же в конце урока мы познакомим вас со специальным плагином, который поможет реализовать красивое открытие полноразмерного снимка. Обещаем, сложно не будет, и вам обязательно понравится!

    А пока что просмотрите веб-страницу gallery.html в браузере. Вот эту разметку, пока что весьма невзрачную и скучную, нам сегодня и предстоит превратить в красивую фотогалерею. Поехали!

    1. Разработка адаптивной сетки

    Первое, с чего мы начнем, это создание сетки нашей галереи. Сетка является своего рода каркасом, определяющим расположение элементов на веб-странице. Ширина блока-контейнера будет иметь максимальную ширину 960 пикселей, а миниатюры будут выстраиваться в три столбца одинаковой ширины (помните, что мы опираемся на макет). Каждая сторона миниатюры будет иметь внутренний отступ в размере 10 пикселей.

    Основываясь на словах выше, запишем первый стиль в файл style.css:

    Container { width: 100%; /* ширина блока-контейнера */ max-width: 960px; /* максимальная ширина контейнера */ margin: 0 auto; /* этот стиль центрирует контейнер */ } .photo { float: left; /* говорим элементам выстраиваться один за другим */ width: 33.333333%; /* устанавливаем ширину элемента */ padding: 10px; /* добавляем отступы с каждой стороны */ box-sizing: border-box; /* меняем способ вычисления ширины */ }

    Обновив страницу в браузере, вы увидите первые изменения. Миниатюры уже выстроились плиткой по три в ряд. Возможно, вы хотите узнать, почему мы указали такое странное и дробное число для ширины элемента? Всё весьма просто: нам нужно, чтобы в строке помещалось три миниатюры, которые занимали бы отведенное место по максимуму (все 100% ширины контейнера). Мы делим 100 на 3 и получаем число 33 и 3 в периоде. Округление числа до 33.333333 в нашей ситуации приводит к тому, что ширина миниатюры становится 319.98 пикселей. 319.98 × 3 = 959.94, что практически совпадает с шириной контейнера (к сожалению, совсем без погрешностей обойтись нельзя, когда речь идет о дробных числах в CSS).

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

    Photo img { display: block; max-width: 100%; height: auto; }

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

    2. Оформление миниатюр

    Согласно макету, каждая миниатюра должна быть обрамлена в рамку светло-серого цвета. Ширина рамки с каждой стороны составляет 10 пикселей. Реализовать эту рамку можно двумя способами, и визуально они ничем не будут отличаться. Мы покажем оба способа.

    Способ I: свойство border

    Первый способ - создать рамку нужного цвета и ширины для каждого тега .
    Добавьте этот код к селектору.photo img:

    Border: 10px solid #eee; box-sizing: border-box;

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

    Обновите страницу в браузере и запомните результат.

    Способ II: свойства background-color и padding

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

    Padding: 10px; background-color: #eee; box-sizing: border-box;

    Сохраните изменения и обновите веб-страницу. Заметили ли вы визуальные изменения? Оба способа приводят к одинаковому внешнему результату, но у них есть отличия в другом.

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

    Сделать выбор в пользу второго способа можно, если вам необходимо, чтобы фон, который отображается в «рамке», также был и под фотографией. Зачем это может понадобиться? Например, в случае, когда в галерее присутствуют изображения с прозрачными или полупрозрачными областями, и вам нужно, чтобы из-под этой прозрачной области проглядывал фон.

    Стиль при наведении

    Пора нам вспомнить о псевдоклассах и псевдоэлементах, которые мы изучали еще в первой части учебника. Сегодня нам понадобится псевдокласс:hover , чтобы определить стиль миниатюры, когда на нее наведен курсор, а также псевдоэлемент:after для добавления определенного контента после каждой миниатюры.

    Для улучшения юзабилити (удобства использования) сайта принято добавлять дополнительные эффекты к активным элементам веб-страницы. Например, все мы привыкли к тому, что при наведении курсора на ссылку стандартная стрелка меняется на pointer - курсор в виде руки. Таким образом мы понимаем, что элемент кликабелен и клик по нему приведет к какому-то событию.

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

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

    Запишем стиль для псевдокласса.photo a:hover:

    Photo a:hover { opacity: 0.5; }

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

    Photo a { display: block; }

    Теперь, когда вы сохраните таблицу стилей, обновите страницу в браузере и наведете курсор на любую из фотографий, то увидите, что она стала полупрозрачной. За это поведение отвечает свойство opacity , чье значение может варьироваться от 0 (полная прозрачность) до 1 (полная непрозрачность), включая дробные числа, устанавливающие полупрозрачность. Уберите курсор, и фото вернется к своему первоначальному виду (т. е. к значению по умолчанию, а именно opacity: 1).

    Займемся добавлением иконки глаза. Для этого нам понадобится задействовать псевдоэлемент:after . Добавьте следующие стили в вашу таблицу, после чего мы объясним, зачем нужен каждый из них:

    Photo a:after { content: ""; background: transparent url(../img/icons/eye-icon.png) no-repeat center; width: 52px; height: 35px; position: absolute; margin: auto; top: 0; left: 0; bottom: 0; right: 0; visibility: hidden; }

    Помимо этого допишите свойство position: relative; к селектору.photo a .

    Итак, разберемся с вышенаписанным кодом. Обычно псевдоэлемент:after добавляется к элементу для того, чтобы вывести нужный текст после его содержимого. Этот текст добавляется через свойство content . Веб-разработчики используют возможности:after для вывода дополнительных графических элементов. В этом случае значение свойства content остается пустым, а нужное изображение добавляется с помощью свойства background . Именно это мы и сделали по отношению к псевдоэлементу.photo a:after , добавив иконку глаза как фоновый рисунок.

    Но после проделывания этих шагов вы еще не увидите никакого изображения. Чтобы оно показалось, мы добавляем ширину и высоту элемента, а также позиционируем его (позже эта тема будет рассматриваться более детально). Мы установили размеры, идентичные размерам самой иконки (52×35 пикселей) и задали свойство position: absolute .

    Иконка уже видна, однако она расположена не по центру миниатюры. Чтобы иметь возможность позиционировать иконку относительно элемента.photo a , мы добавили этому элементу свойство position: relative . Повторимся, что со свойством position мы немного забегаем вперед, поэтому пока что вы можете просто скопировать этот код и наблюдать, что получается.

    Следующим шагом будет центрирование иконки по вертикали и горизонтали. Элемент со стилем position: absolute и четко определенными размерами можно легко центрировать, указав для свойств top , bottom , left и right значение 0 , а для свойства margin - значение auto .

    Последнее, что осталось разобрать - это свойство visibility: hidden . Оно отвечает за видимость/невидимость элемента. Его значение hidden можно сравнить с плащом-невидимкой - элемент становится невидимым, но при этом находится на странице и занимает место.

    Зачем мы скрыли псевдоэлемент с иконкой? Чтобы делать его видимым только при наведении курсора на ссылку-миниатюру. И для этого мы снова обратимся к псевдоклассу:hover . Запишем следующий код:

    Photo:hover > a:after { visibility: visible; }

    Этот на первый взгляд странный селектор сообщает браузеру, что при наведении курсора на элемент.photo необходимо применить стиль к псевдоэлементу:after тега , являющегося дочерним именно для.photo . Сам стиль visibility: visible означает, что иконка глаза становится видимой.

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

    3. Стилизация подписей

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

    Photo figcaption { font-family: "Open Sans", sans-serif; color: #999999; text-align: center; margin-top: 20px; }

    4. Финальные штрихи

    Мы еще не стилизовали заголовок над галереей. Давайте сделаем это:

    H1 { font-size: 36px; text-transform: uppercase; color: #cccccc; text-align: center; margin: 30px 0; }

    Чтобы не дописывать свойство font-family к каждому элементу, будет лучше задать его для всего тега , после чего стереть эту строку из стиля для.photo figcaption - она там теперь лишняя:

    Body { font-family: "Open Sans", sans-serif; }

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

    #gallery { margin-bottom: 50px; }

    Обновим страницу и проверим результат. Но что это? Отступ снизу не появился. И если проверить высоту блока #gallery , мы увидим, что она равна нулю. Как такое может быть, если этот блок не пустой, а внутри него находятся миниатюры? Ответ следующий: свойство float исключает элемент из нормального потока. Поэтому, когда дочерним элементам задано обтекание float , родительский элемент сжимается по высоте, словно игнорируя присутствие float-элементов. Высота родителя становится равной нулю, либо, если внутри находятся дочерние элементы без обтекания, высота родителя приравнивается к высоте этих элементов. Отключить игнорирование float-элементов родителем можно с помощью следующего стиля:

    #gallery:after { content: ""; display: block; height: 0; clear: both; }

    Это один из нескольких CSS-«хаков», позволяющих решить проблему исчезнувшей высоты контейнера. Немного позже мы еще вернемся к обсуждению этой проблемы и изучим ее более подробно. А пока что сохраните изменения в таблице стилей и обновите веб-страницу. Добавленный нами нижний отступ в 60 пикселей теперь находится там, где и требовалось.

    5. Подключение плагина для всплывающих окон

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

    Плагин Lightbox, работающий на базе JavaScript-библиотеки jQuery, используется для наложения изображений поверх текущей страницы. Это удобный инструмент, который работает в любом современном браузере.

    В начале урока мы уже сказали, что подключили необходимый скрипт и таблицу стилей к нашему HTML-документу. Вам останется лишь инициализировать его, добавив атрибут data-lightbox="roadtrip" к каждому тегу , который ссылается на изображение. Этот код говорит плагину, что ссылку нужно открыть во всплывающем окне, а также добавить возможность переключаться между фотографиями, используя боковые стрелки.

    Итак, продублируйте атрибут для каждой из девяти ссылок нашей галереи:

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

    При желании вы можете сделать так, чтобы плагин отображал в открытом окне и подпись к фотографии. Для этого добавьте к ссылке еще один атрибут - data-title="" , а внутрь его кавычек поместите текст подписи, скопировав из тега :

    Повторите эти действия для остальных ссылок и проверьте результат.

    Заключение

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

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

    Мы надеемся, что данное практическое занятие принесло вам пользу и помогло лучше разобраться в том, как работает CSS. А впереди нас ждет еще один урок - на этот раз направленный на закрепление знаний о фоновых изображениях.

    » PHP скрипты галереи картинок

    Coppermine Photo Gallery

    Coppermine – это разносторонняя, много функциональная web галерея картинок написанная на языке PHP, с использованием GD или ImageMagick, а так же базу данных MySQL.

    | v.1.5.24 | Скачано: раз

    Maian Gallery

    Отличный, простой скрипт фото галереи. Просмотр картинки Full Size в новом, открывающемся окне, авто генерация превью (thumbnail) и многое другое в этом пакете Maian Gallery.

    | v.2.0 | Скачано: раз

    KoschtIT Image Gallery

    KoschtIT Image Gallery – это бесплатный и открытый код (open source) PHP скрипта фото галереи. Программа используется для быстрого добавление PHP галереи картинок на уже существующий веб сайт.

    | v.3.1c | Скачано: раз

    Max"s PHP Photo Album

    Max"s PHP Photo Album – это простой, легкий в использовании PHP скрипт Фото Альбома. Вы можете загружать картинки на ваш сервер, добавлять название/тайтл и описание вашим фото файлам, защитить файлы от просмотра паролем и другие стандартные функции.

    | v.1.0 | Скачано: раз

    PHPGallery

    Простая фотогалерея написанная на PHP с использованием базы данных MySQL. Просто загружаете фото - файлы и они сразу же представлены для посетителей вашего сайта в лучшем виде.

    | v.2.0 | Скачано: раз

    Simple Image Gallery

    Simple Gallery – это самая легкая система управления галереи картинок написанная на языке PHP, которая использует jQuery, MySQL и библиотеку GD Library.

    | v.1.3 | Скачано: раз

    Plogger

    Plogger – это php скрипт галереи картинок принципиально нового поколения с открытым для редактирования кодом. PHP программа не раздута каким-либо лишними функциями или сложной настройкой.

    Простейшая галерея выполненная на jQuery и состоящая всего из 4 строчек вызывающего кода.

    Для начала нам нужно подготовить изображения для галереи и их уменьшенные превью. Давайте большие изображения будут с суффиксом _large, а их превью с суффиксом _thumbs. Для каждого изображения у нас будет пара, image_xx_large.jpg и image_xx_thumb.jpg. В этом примере все большие изображения будут иметь размеры 565 х 280 пикселей, а превью будет 100 х 100 пикселей.
    Подключаем в шапке:

    HTML Игра Rage CSS

    Добавим стили для галереи:

    #thumbs { padding-top: 10px; overflow: hidden; } #thumbs img, #largeImage { border: 1px solid gray; padding: 4px; background-color: white; cursor: pointer; } #thumbs img { float: left; margin-right: 6px; } #description { background: black; color: white; position: absolute; bottom: 0; padding: 10px 20px; width: 525px; margin: 5px; } #panel { position: relative; } Теперь добавим функциональности. При нажатии на изображение превью, большое изображение должно измениться, и должно измениться его описание, которое задано в атрибуте "Alt". Реализуется это следующим кодом: $("#thumbs").delegate("img","click", function(){ $("#largeImage").attr("src",$(this).attr("src").replace("thumb","large")); $("#description").html($(this).attr("alt")); }); Вот собственно и всё.