Галерея с анимированными подсказками к изображениям
В данной галерее мы будем использовать изображения знаменитых картин различных художников
HTML
Разметка до смешного проста, выглядит она так
И так мы оборачиваем изображение в блок и теге параграфа мы пишем описание к картине, это описание будет у нас плавно выскакивать из за картины.
Теперь напишем CSS
Напишем простой RESET и вставим фон для тела документа
Теперь оформим наши блоки дадим изображениям блочный структуру. Что бы скрыть наши подсказки нам нужно добавить к нашему блоку overflow: hidden;
Оформим саму подсказку и сделаем ее плавной при появлении
Теперь мы распишем координаты появления подсказки к разным картинам. Если вы смотрели демо, то наверняка увидели что почти у все картинок подсказка появляется по разному и в каждая в своем месте.
Если вы внимательно смотрели разметку, то должны были наткнуться на 2й класс прописанный в блоке с изображением. Например возьмем 1 блок:
Класс top и дает координаты появления нашей подсказки. Вот как выглядят другие:
Думаю на этом все, если что то не понятно, то пишите свои вопросы в комментариях! Спасибо за внимание
HTML
Разметка до смешного проста, выглядит она так
Код
<div class="label top">
<p>Сохранение в памяти</p>
<img src="images/img4.jpg" alt="Сохранение в памяти">
</div>
<div class="label bottom">
<p>Крик</p>
<img src="images/img2.jpg" alt="Крик">
</div>
<div class="label bottomright">
<p>Последний ужин</p>
<img src="images/img3.jpg" alt="Последний ужин">
</div>
<p>Сохранение в памяти</p>
<img src="images/img4.jpg" alt="Сохранение в памяти">
</div>
<div class="label bottom">
<p>Крик</p>
<img src="images/img2.jpg" alt="Крик">
</div>
<div class="label bottomright">
<p>Последний ужин</p>
<img src="images/img3.jpg" alt="Последний ужин">
</div>
И так мы оборачиваем изображение в блок и теге параграфа мы пишем описание к картине, это описание будет у нас плавно выскакивать из за картины.
Теперь напишем CSS
Напишем простой RESET и вставим фон для тела документа
Код
* {
margin: 0;
padding: 0;
}
body {
background: #f5f5f5 url('images/wood_pattern.png');
}
margin: 0;
padding: 0;
}
body {
background: #f5f5f5 url('images/wood_pattern.png');
}
Теперь оформим наши блоки дадим изображениям блочный структуру. Что бы скрыть наши подсказки нам нужно добавить к нашему блоку overflow: hidden;
Код
.label {
overflow: hidden;
position: relative;
margin: 20px;
display: inline-block;
vertical-align: top;
border: 7px solid #fff;
-webkit-box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
}
.label img {
display: block;
}
overflow: hidden;
position: relative;
margin: 20px;
display: inline-block;
vertical-align: top;
border: 7px solid #fff;
-webkit-box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
box-shadow: 0px 2px 4px rgba(0,0,0,0.5), 0px 10px 7px rgba(0,0,0,0.2);
}
.label img {
display: block;
}
Оформим саму подсказку и сделаем ее плавной при появлении
Код
.label p {
position: absolute;
padding: 10px;
width: 100%;
background: #000;
background: rgba(0,0,0,0.7);
color: #fff;
font: bold italic 18px/1.5 Helvtica, Verdana, sans-serif;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
}
position: absolute;
padding: 10px;
width: 100%;
background: #000;
background: rgba(0,0,0,0.7);
color: #fff;
font: bold italic 18px/1.5 Helvtica, Verdana, sans-serif;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
}
Теперь мы распишем координаты появления подсказки к разным картинам. Если вы смотрели демо, то наверняка увидели что почти у все картинок подсказка появляется по разному и в каждая в своем месте.
Если вы внимательно смотрели разметку, то должны были наткнуться на 2й класс прописанный в блоке с изображением. Например возьмем 1 блок:
Код
<div class="label top">
Класс top и дает координаты появления нашей подсказки. Вот как выглядят другие:
Код
.top:hover p, .topleft p, .topright p {
top: 0%;
}
.top p, .centertop p {
top: -50%;
}
.bottom:hover p, .bottomleft p, .bottomright p {
bottom: 0%;
}
.bottom p, .centerbottom p {
bottom: -50%;
}
.bottomleft:hover p, .bottomright:hover p, .topleft:hover p, .topright:hover p, .centerleft:hover p, .centerright:hover p {
left: 0%;
}
.bottomleft p, .topleft p, .centerleft p, .centerleft p {
left: -150%;
}
.bottomright p, .topright p, .centerright p {
left: 150%;
}
.centerbottom:hover p {
bottom: 50%;
}
.centertop:hover p, .centerleft p, .centerright p {
top: 50%;
}
.centertop:hover p, .centerleft p, .centerright p {
margin-top: -20px;
}
.centerbottom:hover p {
margin-bottom: -20px;
}
top: 0%;
}
.top p, .centertop p {
top: -50%;
}
.bottom:hover p, .bottomleft p, .bottomright p {
bottom: 0%;
}
.bottom p, .centerbottom p {
bottom: -50%;
}
.bottomleft:hover p, .bottomright:hover p, .topleft:hover p, .topright:hover p, .centerleft:hover p, .centerright:hover p {
left: 0%;
}
.bottomleft p, .topleft p, .centerleft p, .centerleft p {
left: -150%;
}
.bottomright p, .topright p, .centerright p {
left: 150%;
}
.centerbottom:hover p {
bottom: 50%;
}
.centertop:hover p, .centerleft p, .centerright p {
top: 50%;
}
.centertop:hover p, .centerleft p, .centerright p {
margin-top: -20px;
}
.centerbottom:hover p {
margin-bottom: -20px;
}
Думаю на этом все, если что то не понятно, то пишите свои вопросы в комментариях! Спасибо за внимание
-
FalleN -
3271 -
1 -
181
Но только нужно ставить наверное на те модули которые обновляться должны не раньше через пару тройку минут
С Уважением, Андрей...