Создаем галерею и увеличивающиеся картинки при клике


Создаем галерею и увеличивающиеся картинки при клике

3956
7 из 10
Проголосовало: 8






В этом примере я покажу, как сделать красочную и оригинальную галерею, используя лишь HTML и CSS3 свойства.
Главной особенностью в данной галерее является увеличивающиеся изображения, при клике на них.
На самом деле сделать это очень просто, нужно лишь использовать один HTML атрибут и один CSS псевдокласс.

HTML

Code
<div class="gallery">
<a tabindex="1"><img src="http://s019.radikal.ru/i622/1210/27/0533cf05dee1.jpg"></a>
<a tabindex="2"><img src="http://s019.radikal.ru/i624/1210/52/4b857ca603f8.jpg"></a>
<a tabindex="3"><img src="http://s019.radikal.ru/i608/1210/a9/4942b00b584e.jpg"></a>
</div>


Да, что бы при клике на изображение оно увеличилось, нужно добавить атрибут tabindex, в котором может находится любое целое число, начиная с нуля. К тому же, при нажатии на кнопку Tab, автоматически будет увеличено следующие изображение.

CSS

Первым делом стоит оформить сам тег <img>. Здесь можно сразу добавить прозрачности, плавности, тени, а так же отступы:

Code
.gallery a img{  
  /* округления старт */
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
  /* округления конец */
   
  /* transition старт */
  -webkit-transition:All 1s ease;
  -moz-transition:All 1s ease;
  -o-transition:All 1s ease;
  transition: all 1.0s ease;
  /* transition конец */
   
  /* Тень старт */
  -webkit-box-shadow: 0px 2px 4px 1px #DFDFDF;
  -moz-box-shadow: 0px 2px 4px 1px #DFDFDF;
  box-shadow: 0px 2px 4px 1px #DFDFDF;  
  /* Тень конец */
   
  /* Прозрачнсоть старт */
  -moz-opacity: 0.70;
  opacity: 0.70;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=70);
  /* Прозрачнсоть конец */
   
  margin-right:5px; /* Отступ справа */
  padding:10px; /* Внутренние отступы */
  display:inline-block; /* отображение */
  height:150px; /* Высота */
}


Теперь стоит убрать эффект прозрачности при наведении, а не при клике:

Code
.gallery a img:hover{
  -moz-opacity: 1;
  opacity: 1;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=100);
}


Осталось лишь сделать, чтобы при клике увеличилось изображение. Для этого будем использовать псевдокласс. Но какой? :hover, :active, :link здесь явно не подойдут... Для этого случая подойдет псевдокласс :focus, так как он срабатывает как раз при клике на объект и исчезает, когда происходит другой клик.

Code
.gallery a:focus img{
  position: relative; /* Позиционирование */
  height:300px; /* Высота */
  cursor: pointer; /* Вид курсора */
   
  /* transition старт */
  -webkit-transition:All 1s ease;
  -moz-transition:All 1s ease;
  -o-transition:All 1s ease;
  transition: all 1.0s ease;
  /* transition конец */
   
  /* Тень старт */
  -webkit-box-shadow: 0px 4px 4px 1px #DFDFDF;
  -moz-box-shadow: 0px 4px 4px 1px #DFDFDF;
  box-shadow: 0px 4px 4px 1px #DFDFDF;
  /* Тень конец */  
}


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

Code
.gallery a{
  outline:0; border:0;
}
Автор публикации: Загрузка
Загрузка
Вовчик, это его n материал
  • Всего комментариев: 3

kolyan1282
0
kolyan1282 написал: Написано 29 Октября 2012 в 13:55
Комментарий №3
и если нет скриншотов чтобы не было видно ободка вокруг картинки?

kolyan1282
0
kolyan1282 написал: Написано 29 Октября 2012 в 13:53
Комментарий №2
все красиво. А подскажите как сюда всместо ссылок прикрепить $IMAGE1$-$IMAGE10$???

zenitovic
0
zenitovic написал: Написано 28 Октября 2012 в 23:31
Комментарий №1
Не плохо smile

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 24
Скрипты и модификации для Ucoz 2101
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 429
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
как поставить свою ссылку и логотип
  • Сатурн-1 написал:
  • Похвально.
  • Winston888 написал:
  • Я не говорил что делаю только скрипты. Я делаю шаблоны, скрипты, адаптации с разных движков под ucoz и на оборот + я ещё и сам рисую. В данный момент занимаюсь дизайном для webo4ka сам рисую сам верстаю.
  • Сатурн-1 написал:
  • Заметь, мы делаем почти одну и ту же работу.
    Ты - скрипты, я -шаблон. И каждый делает это бесплатно, НО
    ты делаешь скрипты без шаблона, я делаю шаблон без скриптов (не считая основных).
    Я тоже могу сказать что твои скрипты не идеальны, но не буду т.к. даже не знаю какие из всех существующих твои.
    Поэтому ты не сравнивай скрипты и шаблоны да еще и на Ucoz'e, мы же не на хакатоне каком нибудь.
  • Winston888 написал:
  • Если бы я не добавлял бесплатные адаптации или скрипты бесплатно я бы наверное не стал бы комментировать ваш материал.
    Последние темы
    Опрос
    204
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 2
    Гостей: 1
    Пользователей: 1
    0
    Сегодня были
    Топ пользователей: