Всплывающие миниатюры для навигации

Сегодня мы будем создавать с  помощью трансформации 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;
}

Демо

Исходники

Категория: CSS, Дизайн, Новости Теги: 

Популярные записи:

Создание простого слайдшоу на jQuery Создание простого слайдшоу на jQuery
Тема Poloniumify для WordPress Тема Poloniumify для WordPress
Тема WordPress Monokrome Тема WordPress Monokrome
Нейтральная тема WordPress Colorbold Нейтральная тема WordPress Colorbold

Оставить комментарий или два

Отправить коментарий

Test

Яндекс.Метрика