Разное

Как сделать фотогалерею в html: Как сделать галерею изображений с вкладками

18.05.2021

Содержание

Как создать галерею в CSS: практика — учебник CSS

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

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

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




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

Загрузка файлов

Скачайте архив с файлами и откройте в удобном для вас редакторе кода файлы gallery.html и style.css (из папки css). Как и в предыдущей практике, в теге <head> мы заранее подключили файл сброса стилей (на этот раз Reset.css вместо Normalize

) и основную таблицу стилей (пока что пустую), а также шрифт Google Fonts. Дополнительно мы добавили еще одну таблицу стилей lightbox.min.css, а в конце документа — скрипт lightbox-plus-jquery.min.js. Зачем нужны эти два файла, мы скажем позже.

Загрузить архив RAR

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

Изучите структуру HTML-страницы. В теле документа расположен блок-контейнер, в котором есть заголовок <h2> и основной блок <div> с идентификатором #gallery. Внутри блока галереи находится девять HTML5-тегов <figure> с классом .photo, каждый из которых содержит тег <img> с миниатюрой изображения и тег <figcaption>

с подписью к фото. Кроме этого, каждое изображение обернуто в тег <a>, который содержит ссылку на соответствующий полноразмерный графический файл.

Перед началом работы хотелось бы сразу упомянуть о нескольких моментах:
  • В создаваемой нами тестовой галерее все миниатюры фотографий были подготовлены заранее: они имеют одинаковую форму (квадрат) и одинаковые размеры (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

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

<img>.
Добавьте этот код к селектору .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;
}

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


.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 тега <a>, являющегося дочерним именно для .photo. Сам стиль visibility: visible означает, что иконка глаза становится видимой.

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

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

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


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

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

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


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

Чтобы не дописывать свойство font-family к каждому элементу, будет лучше задать его для всего тега <body>, после чего стереть эту строку из стиля для .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" к каждому тегу <a>, который ссылается на изображение. Этот код говорит плагину, что ссылку нужно открыть во всплывающем окне, а также добавить возможность переключаться между фотографиями, используя боковые стрелки.

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


<a href="img/originals/img-01.jpg" data-lightbox="roadtrip">
    <img src="img/img-01-min.jpg" alt="Eagle" />
</a>

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

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


<a href="img/originals/img-01.jpg" data-lightbox="roadtrip" data-title="Eagle">
    <img src="img/img-01-min.jpg" alt="Eagle" />
</a>

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

Заключение

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

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

Смотреть демо

 


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

Скрипты адаптивных галерей для сайта

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

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

Знаю, для некоторых статья не актуальна, но поучаствуйте хотя бы в комментариях и подскажите, каким скриптом или своим решением пользуетесь вы. Ведь мнение о том, что использование каких-то готовых jQuery-плагинов для создания галерей и модальных окон — это преступление в 2019 году очень даже распространено. К какой категории относитесь вы?

Мне, например, обычно лень делать свою галерею, а вот модальные окна последние 2 — 3 года — это да, делаю на чистом js, или, если проект использует jQuery, то применяю его, но не подключаю отдельный плагин.

Вернемся к галерее изображений.

Скрипты адаптивных галерей изображений для лендинга

Обычно, для реализации подобного функционала я использую 1 из двух плагинов. В 90% случаев, они полностью закрывают потребность заказчика в галерее. Это:

Обычно, это все же fancybox. На его примере и покажу как создавать простую галерею для фотографий. Иногда, приходится комбинировать этот скрипт с другими плагинам для создания слайдера Owl carousel или Slick slider, о которых я рассказывал в отдельной статье. Получается довольно симпатично и не конфликтует.

Обратите внимание на лицензии и их условия. Знаю, что в странах СНГ все пропускают эту информацию мимо ушей, но если делает сайт для зарубежного рынка, то за лицензию fancybox придется заплатить. Для не коммерческих проектов — все бесплатно.

Fancybox

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

Подключение

Убеждаемся, что подключен jQuery и после него цепляем файлы плагина. Кстати, проект лежит на jsDelivr, так что можно использовать их CDN и подключать плагин оттуда.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>

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

<a data-fancybox="gallery" href="big_1.jpg"><img src="small_1.jpg"></a>
<a data-fancybox="gallery" href="big_2.jpg"><img src="small_2.jpg"></a>

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

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

<div>
	<h3>Привет</h3>
	<p>Текст модального окна</p>
</div>

Вызываться оно будет следующим образом:

<a data-fancybox data-src="#hidden-content" href="javascript:;">
	Вызов окна
</a>

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

Демо

Записал небольшое видео с примером работы плагина прямо с сайта разработчиков.

Фотогалерея для WordPress: создание и настройка

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

1. Откройте редактор страницы фотогалереи.

2. Нажмите кнопку Добавить медиафайл, на следующей странице щёлкните Создать галерею, нажмите кнопку Выберите файлы, в отобразившемся окне проводника выделите картинки, которые хотите разместить на странице, и щёлкните OK.

3. Дождитесь окончания загрузки файлов и нажмите кнопку Создать новую галерею.

4. Щёлкните на кнопке Вставить галерею, при желании изменив перед этим настройки. Самым важным их элементом для многих будет раскрывающийся список Колонки, устанавливающий количество столбцов сетки галереи — обратите на него внимание.

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

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

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

Хоть Simple Lightbox в настройках не нуждается, их имеет. Находятся они в разделе Внешний вид -> Lightbox. Среди всего многих пользователей может заинтересовать флажок автоматического отключения слайд-шоу (по умолчанию плагин переключает изображения каждые 6 секунд), а также поле ввода времени автоматической смены картинок.

Также многим понравится возможность менять надписи, которая пригодится как минимум для того, чтобы заменить русскими английские слова. Например, по умолчанию под картинкой отображается надпись Item %current% of %total%, где %current% — номер текущего фото, %total% — общее число картинок на странице. Замените этот текст любым другим, например, введите Фото %current% из %total%, нажмите кнопку Сохранить изменения и оцените результат.

Полезные ссылки:

Создание галереи изображений на jQuery | XoZblog

Здравствуйте, уважаемые читатели XoZbloga! В этом уроке я покажу Вам, как создать минималистичную, но в тоже время удобную и функциональную фото галерею на jQuery, или галерею изображений, кому как удобно. В галерее есть возможность создавать категории, с последующей фильтрацией. Так же есть возможность запуска слайд-шоу. Галерея работает во всех браузерах, так что проблем с адаптацией не будет.

Для создания этой галереи будут использованы две бесплатные библиотеки JQuery: Quicksand и PrettyPhoto. Они значительно упрощают создание галереи. Как всегда результат работы Вы можете увидеть на демонстрационной странице, а также скачать архив с работающей галерей и все исходные файлы. Единственным минусом, если можно так сказать, является создание в ручную миниатюр для больших изображений. А во всем остальном эта галерея достойна внимания. Так же как и эта!


Просмотр демо страницы и скачивание исходников не доступно

Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!

HTML разметка

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

1
2
3
4
5
6
7
8

<ul>
     <li>Категории:</li>
     <li><a href=»#»>Все</a></li>
     <li><a href=»#» title=»Category 1″>Категория 1</a></li>
     <li><a href=»#» title=»Category 2″>Категория 2</a></li>
     <li><a href=»#» title=»Category 3″>Категория 3</a></li>
     <li><a href=»#» title=»Category 4″>Категория 4</a></li>
</ul>

Как и панель со списком категория сама галерея также является маркированным списком ul с классом portfolio-area. В котором каждый элемент это картинка.

1
2
3
4
5
6
7
8
9
10
11

<li data-id=»id-5″ data-type=»cat-item-2″>   
   <div>
      <span>
         <a href=»images/big/pic6.jpg» rel=»prettyPhoto[galery]» title=»Lorax»><img src=»images/thumbs/p6.jpg» alt=»Lorax» title=»Lorax» /></a>
      </span>
      <div>
         <h3><a href=»#» rel=»bookmark» title=»Lorax»>Название картинки</a></h3>
         <p>опубликовано: 2012</p>
      </div>                
   </div>  
</li>

Как говорилось выше, элементы списка это изображения в галерее. Каждый элемент списка включает составные. Это непосредственно само изображение, точнее его миниатюра, а также описание. Миниатюра представляет собой ссылку на основное изображение. Атрибут rel необходим для вызова javascript и открытия основного изображения.

Не забывайте также о 2 важных вещах, у элемента списка li атрибут data-id должен быть уникальным. Атрибут data-type содержит класс категории, список которых я описывал выше. О разметке вроде бы все.

Стили CSS

Особо заострять внимание на стилях не буду, так как используем мы уже готовую библиотеку PrettyPhoto, которая отвечает за увеличение изображения, и css кода достаточно много. Однако стоит заметить предусмотрено 5 вариантов оформления увеличенного изображения, хотя в идеале всего 3 , так как в двух вариантах лишь убирается закругление.

Поэтому, покажу лишь CSS стили для миниатюр ну и списка категорий.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

.portfolio-categ { margin-bottom:30px; }
.portfolio-categ li {
      display:inline;
      margin-right:10px;
}
.image-block {
      display:block;
      position: relative;
}
.image-block img {
     border: 1px solid #d5d5d5;
     border-radius: 4px 4px 4px 4px;
     background:#FFFFFF;
     padding:10px;
}
.image-block img:hover {
     border: 1px solid #A9CF54;
     box-shadow:0 0 5px #A9CF54;
}
.portfolio-area li {
     float: left;
     margin: 0 12px 20px 0;
     overflow: hidden;
     width: 245px;
     padding:5px;
}
.home-portfolio-text { margin-top:10px; }
li.active a { text-decoration:underline; }

В принципе, со стилями должно быть все понятно. Чтобы категории выстроились в ряд свойству display придается значение inline. Для того чтобы придать эффект обводки изображения, задается фоновый цвет (белый) и отступ в 10 пикселей. Размеры элементов списка задаются в .portfolio-area li.

jQuery

Ну и напоследок самое важное, то ради чего весь урок. Это jQuery код. Начнем с фильтрации картинок, по категориям.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

   // Выбираем все дочерние элементы portfolio-area и записываем в переменную
   var $data = $(«.portfolio-area»).clone();
   
   $(‘.portfolio-categ li’).click(function(e) {
      $(«.filter li»).removeClass(«active»);
     
      var filterClass=$(this).attr(‘class’).split(‘ ‘).slice(-1)[0];
     
      if (filterClass == ‘all’) {
         var $filteredData = $data.find(‘.portfolio-item2’);
      } else {
         var $filteredData = $data.find(‘.portfolio-item2[data-type=’ + filterClass + ‘]’);
      }
      $(«.portfolio-area»).quicksand($filteredData, {
         duration: 600,
         adjustHeight: ‘auto’
      }, function () {

            lightboxPhoto();
                  });      
      $(this).addClass(«active»);        
      return false;
   });

C помощью метода clone() и селектора, выбираем все дочерние элементы у .portfolio-area и записываем их в переменную $data. Далее отслеживаем клик по одной из категорий, элемент li у списка с классом .portfolio-categ. Делаем все категории не активными, посредством удаления removeClass(«active»), если этого не делать то со временем все категории будут активными и фильтрация остановиться.

Так как мы кликаем по элементу списка, то в селекторе this содержится элемент списка то есть li, у него мы берем значение атрибута class и с помощью метода split разбиваем название класса на несколько частей, границей является пробел (т.=’prettyPhoto’]»).prettyPhoto({
            animationSpeed: ‘fast’,
            slideshow: 5000,
            theme: ‘facebook’,
            show_title: false,
            overlay_gallery: false
        });

Отслеживается клик по ссылке, у которой атрибут rel начинается с prettyPhoto. После чего в дело вступает библиотека prettyPhoto, и изображение чудесным образом увеличивается. Кстати, мы также передаем несколько параметров. Такие как скорость анимации — быстрая, задержка у слайд шоу — 5 секунд, тема оформления Facebook (всего 5 тем они находятся в папке images/prettyPhoto), а также запрещаем показ названия картинки и увеличение картинки при наведении мыши. Полную документацию по prettyPhoto можно найти здесь

Просмотр демо страницы и скачивание исходников не доступно

Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на страницу ВКонтакте или Facebook. Если урок Вам понравился и пригодился сделайте tweet или like — поделитесь с друзьями 🙂

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на еженедельную почтовую рассылку или на новостную ленту RSS. Спасибо!

Фотогалерея для сайта на HTML и JavaScript

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

В WordPress присутствует обычная фотогалерея для сайта, не требующая установки дополнительных плагинов. Давайте рассмотрим управление галереей на примере WordPress версии 3.5:

  1. В первую очередь нам понадобится открыть редактор записей и статей и выбрать опцию «Добавить медиафайл». В результате должно открыться окно медиафайлов.
  2. В открывшемся окне необходимо выбрать пункт «Создать галерею» и перетащить либо загрузить изображения. После их загрузки можно выбрать, в каком порядке изображения будут отображаться, также можно их озаглавить, добавить подпись и описание.
  3. Теперь выбираем опцию «Вставить галерею». Осталось только просмотреть запись, чтобы убедиться в корректности настроек и правильности отображения галереи. Если нет желания загружать плагины, то встроенная фотогалерея для сайта WordPress – это оптимальное решение, однако, я всё же рекомендую вам не обходить их стороной.

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

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

К примеру, плагин Yet Another Photoblog даст вам возможность создать самый настоящий фотоблог. Настройки позволят вам выбрать различные режимы отображения и параметры.

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

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

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

Современная фотогалерея на Javascript

Кроме этого, в сети можно без труда найти исходники с уже готовыми фотогалереями. Они могут быть сделаны при помощи флеш и Javascript. Например, Galleria — это фотогалерея для сайта на javascript, написанная на jQuery. Она “умеет” загружать изображения из списка и показывать превью, пока подгружается картинка. Кроме множества опций, вы можете настроить и автоматическое создание превью для себя.

Простая фотогалерея на html

Если же вам нужна фотогалерея для сайта на html, для начала вам стоит вспомнить строение классического каркаса, а дальше продолжить работу с учётом ваших пожеланий.

Надеюсь, вам пригодятся наши советы. Желаем побольше интересных фотографий!

Как создать галерею в Блоггере стандартными методами

 В статье рассказывается как создать галерею в Блоггере стандартными способами.

Так как галерея в общепринятом виде в Блоггере не предусмотрена, возникает вопрос, как же создать галерею?

Галерею в Блоггере можно создать стандартными методами, не прибегая к дополнительным виджетам сторонних разработчиков. Можно просто размещать изображения по порядку, но картинки разных размеров могут неровно отображаться на странице. Для их выравнивания надо либо редактировать исходные размеры изображения, либо редактировать исходный HTML код, либо прибегнуть к помощи таблицы. Но в стандартном редакторе страниц блоггера элемента таблицы нет, но можно прописать ее в HTML коде. Например: Таблица 3 столбца и 3 строки. 

<table border="1">
 <tr>
  <td>строка 1, столбец 1</td>
  <td>строка 1, столбец 2</td>
<td>строка 1, столбец 3</td>
 </tr>
 <tr>
  <td>строка 2, столбец 1</td>
  <td>строка 2, столбец 2</td>
  <td>строка 2, столбец 3</td>
 </tr>
 <tr>
  <td>строка 3, столбец 1</td>
  <td>строка 3, столбец 2</td>
  <td>строка 3, столбец 3</td>
 </tr>
</table>

Где border «1» -ширина линии. Если «0» — границы будут невидимыми. 

Для тех, кто не владеет HTML, можно прибегнуть к другому популярному редактору — чтобы создать галерею нам нужно будет просто создать таблицу в документе Microsoft Office Word. В документе Word создаем таблицу. Настройки таблицы можно сделать следующие: определить количество столбцов и строк для размещения изображений, границы сделать прозрачными (без границ) или с границами необходимых параметров по ширине и цвету, добавить в ячейки текст, клавишей ENTER добавить строку для последующей вставки изображения на сайте.

Текст в редакторе Блоггера в последствии можно заменить (удалить). Копируем таблицу в Microsoft Office Word и вставляем в редактор Блоггера. В ячейки вставляем изображения. Подпись к изображениям можно добавить в настройках картинок. Размер картинок выставляем в зависимости от количества столбцов в таблице из учета того, чтоб в последствии изображения не выходили за пределы странички. 

 

В итоге получаем страницу следующего вида.

Про нажатии на картинку появляется собственно галерея изображений Блоггера, которая ни чем не хуже сторонних галерей.

Посмотреть пример можно по адресу: rybalka-sovet.blogspot.com/p/blog-page_3.html

Многофункциональная фотогалерея Morfeoshow.

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

Хочу рассказать об одной из отличных галерей изображений — многофункциональной фотогалерее Morfeoshow.

Внешний вид галереи:

«В живую» демо можно посмотреть здесь.Скачиваем (русифицированная версия): здесь.Различные моды и расширения для плагина  Morfeoshow 1.2.0.: здесь.

Установка Morfeoshow

Заходим в панель администратора, пункт «Расширения» — «Установить/Удалить» и выбираем первый элемент «Компонент», т.е. com morfeoshow 1.2.0.zip и нажимаем «Загрузить файл & Установить».

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

Далее нажимаем кнопку «Продолжить».

 

 

Заходим в панель администратора, пункт «Расширения» — «Установить/Удалить», выбираем второй элемент, «Плагин», т.е. plugin_morfeoshow_1.2.0.zip и нажимаем» Загрузить файл & Установить».

Заходим в «Расширения» – «Менеджер плагинов», находим в списке плагин отвечающий за галерею «Content-MorfeoShow» и жмём красный крестик напротив него чтобы активировать.

Заходим в «Компоненты» – «MorfeoShow» – «Галереи» – «Создать».

Настройка Morfeoshow

Рассмотрим настройки галереи MorfeoShow.

Обязательные поля для заполнения это: «Заголовок» и «Формат». В Заголовок вписываем название галереи, а с форматом отображения можно поэкспериментировать, есть очень достойные.

Поле «Опубликовано» оставьте «Да», поля  «Краткая новость» и «Полная новость» можете оставить пустыми. Далее жмём «Сохранить».

На локальном компьютере картинки помещаем в папку components/com_morfeoshow/ myphoto/.

Загружать картинки можно двумя способами.

Первый способ — по одной картинке:

Жмём на кнопку «Загрузить» (стрелка вверх).

Жмём кнопку «Выберите файл», выбираем  картинку и щёлкаем по кнопке Сохранить изображение.

Второй способ групповой:

Прокручиваем страничку вниз и выбираем «Добавить несколько изображений». Если сайт уже залит на хост, то тогда открывайте свой FTP, найдите папку \components\com_morfeoshow\myphoto и загрузите картинки туда. После загрузки обновите страницу, прокрутите вниз, выбираем «Добавить несколько изображений». В списке будут видны все Ваши картинки.

Выделяем все картинки, зажав клавишу Shift, и нажимаем «Добавить картинки».

Заходим в «Компоненты» – «MorfeoShow» – «Галереи» и видим созданную галерею, а также справа  видим идентификатор — {morfeo1}. У каждой из созданных галерей будет свой уникальный идентификатор, который мы можем вставлять в статьи, плагин ищет их автоматически.

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

Вот ссылка :

http://wedal.ru/rasshireniya-joomla/plagin-modules-anywhere.html

Теперь расскажу, как решить одну проблему с отображением превью (маленькие картинки) для альбомов.

В настройках превью мы можем изменять размер картинки, но дело в том, что независимо от настроек, картинка имеет размер 50х50 пикселей, она просто растягивается под указанное значение в настройках. Т.е. если мы хотим иметь превьюшу 100х100 пикселей, мы получаем просто вытянутую в 2 раза картинку. Решается проблема изменением размеров в файле: /administrator/components/ com_morfeoshow/helpers/gallery.php

Изменяем выделенные значения как вам нужно, третье значение влияет на сжатие картинки, чем больше – тем сильнее сжимается она.

Вот и всё! Быстро и просто!

P.S.: А вот другая бесплатная и мощная фотогаллерея для Joomla.

Постовой:

А вот здесь: http://adivohost.ru/ вы можете почитать, как создать выделенный сервер, а также как его настроить, управлять им, что такое vps, vds (вдруг кто не знает). Кроме того, вы узнаете, сколько стоит это удовольствие (аренда сервера в США и Европе).

Об авторе

Wedal (Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.

Основной профиль – создание сайтов и расширений на CMS Joomla.

Как создать фотогалерею Polaroid в HTML и CSS | Кунал | Frontend Shortcut

В этом посте мы собираемся создать Polaroid Image Gallery с милыми собачками в HTML и CSS.

Некоторые важные концепции, которые мы узнаем при создании этой галереи:

  • HTML5
    и
    elements
  • Как расположить элементы по горизонтали
  • Как обеспечить равное пространство между элементами в строке, используя “ justify-content »свойство
  • Как обернуть элементы внутри flexbox, не сжимая его, используя свойства« flex-shrink »и« flex-wrap »

Давайте погрузимся.

Давайте сначала займемся той же страницей.

Вот как выглядит структура папок моего проекта:

Наша таблица стилей «styles.css» находится внутри папки «css», изображения собак помещаются в папку «images», а наш HTML-код находится в «gallery.html». » файл.

Вот начальный код нашей пустой страницы:

  


Фотогалерея Polaroid



Если вы не понимаете приведенный выше код, то, вероятно, вы впервые кодируете HTML. Я бы рекомендовал начать здесь: Как сделать бургер в HTML — Урок для начинающих.

Фотографии собак: Для этого урока вам понадобятся квадратные изображения, загрузите четыре изображения, которые я использую здесь: https://imgur.com/a / VWicZ

На фотографиях Polaroid есть фотография и текст под ней.Давайте создадим фотографию Polaroid, заключив теги и

внутри

в нашем файле gallery.html:

  


Фотогалерея Polaroid






Julie's Rabbit Ears




Если открыть в в браузере вы увидите изображение с текстом под ним.

Этот метод отображения изображения полностью подходит. Однако HTML5 представил два тега:

и
, и эти теги делают именно то, что мы делаем здесь — отображаем изображение и заголовок изображения.

С методами

и

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

,