Сегодня мы будем создавать с помощью трансформации CSS3 всплывающие миниатюры для навигации. Метод заключается в том, чтобы оформить навигацию стрелками, во время наведения курсора на изображение будут появляться миниатюры предыдущего или следующего рисунка.
HTML
Используем следующую структуру кода HTML:
<a class="cn-nav-next" href="#">
<span>Next</span>
</a>
<a class="cn-nav-next" href="#">
</a>
Для демонстрации будем использовать шаблон jQuery и миниатюры из следующего и предыдущего изображения.
CSS
Сделаем внешний контейнер с относительным позиционированием. Установим элементам навигации ширину и высоту в 70px. Так будет пространство для движения курсора мыши.
.cn-nav > a{
position: absolute;
top: 0px;
height: 70px;
width: 70px;
}
a.cn-nav-prev{
left: 0px;
}
a.cn-nav-next{
right: 0px;
}
Сделаем для элемента span, содержащего стрелки как фоновое изображение, ширину и высоту равную 46 px. Для создания круглой формы, сделаем радиус границы на половину ширины и высоты. Затем сделаем трансформацию всем свойствам длительностью 400ms и эффектом перехода ease:
.cn-nav a span{
width: 46px;
height: 46px;
display: block;
text-indent: -9000px;
-moz-border-radius: 23px;
-webkit-border-radius: 23px;
border-radius: 23px;
cursor: pointer;
opacity: 0.9;
position: absolute;
top: 50%;
left: 50%;
background-size: 17px 25px;
margin: -23px 0 0 -23px;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
-ms-transition: all 0.4s ease;
transition: all 0.4s ease;
}
Фоновые изображения для span:
.cn-nav a.cn-nav-prev span{
background: #666 url(../images/prev.png) no-repeat center center;
}
.cn-nav a.cn-nav-next span{
background: #666 url(../images/next.png) no-repeat center center;
}
Изначально div для миниатюр, являющимся фоновым изображением выставлен 0px как для ширины, так и для высоты. Радиус границы также равен 0px. Фоновое изображение должно заполнить элемент, поэтому для фона выставим 100% размер.
.cn-nav a div{
width: 0px;
height: 0px;
position: absolute;
top: 50%;
left: 50%;
overflow: hidden;
background-size: 100% 100%;
background-position: center center;
background-repeat: no-repeat;
margin: 0px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
-webkit-transition: all 0.2s ease-out;
-moz-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
-ms-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
Посмотрим вид изображения, во время наведения курсора. Элемент span увеличивает высоту и ширину до 100px. Немного поколдуем над параметрами и внешним видом миниатюры:
.cn-nav a:hover span{
width: 100px;
height: 100px;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
opacity: 0.6;
margin: -50px 0 0 -50px;
background-size: 22px 32px;
background-color:#a8872d;
}
Здесь видно, что элемент div для миниатюр увеличивается до 90px. Элемент span отображается в качестве рамки на миниатюре. Еще сделаем радиус границы равным половины ширины, увеличим фон.
.cn-nav a:hover div{
width: 90px;
height: 90px;
background-size: 120% 120%;
margin: -45px 0 0 -45px;
-moz-border-radius: 45px;
-webkit-border-radius: 45px;
border-radius: 45px;
}




