Автор

Аккордеон с выпадающим списком на CSS3

Аккордеон с выпадающим списком на CSS3


 

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

 

ДЕМО
ИСХОДНИКИ

 

Кроме этого мы добавим небольшие иконки, которые скрасят общую картину выпадающего аккордеона. И так, давайте приступим.

Шаг 1. HTML

Для начала нам необходимо создать контейнер в котором будут размещаться классы, для главной мы добавим соответственно класс "home", для выпадающих подпунктов нам необходимо добавить div с классом "gallery-wrapper":

<div id="container">
 <nav>
 <ul>
 <li class="home"><a href="">Главная</a><span>3</span></li>
 <div class="gallery-wrapper">
 <li class="gallery"><a href="">Галерея</a></li>
 <ul>
 <li><a href="">Фото</a></li>
 <li><a href="">Картины</a></li>
 <li><a href="">Проекты</a></li>
 </ul>
 </div>
 <li class="logout"><a href="">Выйти</a></li>
 </ul>
 </nav>
 </div>

Следует отметить, что мы не будем использовать никаких скриптов и сторонних библиотек, весь аккордеон функционирует благодаря правилам CSS3.

Шаг 2. CSS

Для начала в стили мы добавим общий параметр сброса, мы не стали приводить его в примере, он находится в исходниках. Мы определяем общие параметры контейнера, устанавливаем цветовой оттенок для текста, создаем градиентную заливку для списка, следует заметить, что мы добавили несколько градиентов для кроссбраузерности. Установим время для разворота списка на 3ms.

.clearfix:after{
 content: ".";
 display: block;
 height: 0;
 clear: both;
 visibility: hidden;
}
body{
 background:#fff;
 font:13px tahoma, arial, sans-serif;
}
#container{
 width:400px;
 height:270px;
 padding-top:30px;
 margin:0 auto;
}
nav{
 width:200px;
 margin:0 auto;
 border:1px solid #25272b;
 border-radius:3px;
 box-shadow:rgba(0,0,0,0.15) 0 0 5px, rgba(0,0,0,0.2) 0 1px 0;
}
nav ul li a{
 display:block;
 height:40px;
 line-height:40px;
 padding-left:40px;
 text-decoration:none;
 color:#d9ddea;
 text-shadow:rgba(0,0,0,0.25) 0 1px 0;
}
nav ul li{
 background: -webkit-linear-gradient(top, rgba(75,78,88,1) 0%,rgba(63,66,74,1) 100%); /* Chrome10+,Safari5.1+ */
 background: -o-linear-gradient(top, rgba(75,78,88,1) 0%,rgba(63,66,74,1) 100%); /* Opera 11.10+ */
 background: -ms-linear-gradient(top, rgba(75,78,88,1) 0%,rgba(63,66,74,1) 100%); /* IE10+ */
 background: linear-gradient(to bottom, rgba(75,78,88,1) 0%,rgba(63,66,74,1) 100%); /* W3C */
 box-shadow:rgba(255,255,255,0.1) 1px 1px 0 inset;
 border-bottom:#292b30 1px solid;
}
.gallery{
 position:relative;
}
.gallery-wrapper{
 height:41px;
 overflow:hidden;
 -webkit-transition:height linear .3s;
 -moz-transition:height linear .3s;
 -o-transition:height linear .3s;
 transition:height linear .3s;
}
.gallery-wrapper:hover{
 height:164px;
}
.gallery-wrapper ul li{
 background:#32353b;
 box-shadow:#3a3c42 0 1px 0 inset;
}

.gallery-wrapper ul li:nth-of-type(1){ box-shadow:rgba(0,0,0,0.1) 0 2px 2px inset; } .gallery-wrapper ul li:nth-of-type(3){ box-shadow:rgba(0,0,0,0.1) 0 -2px 2px inset, #3a3c42 0 1px 0 inset; } .gallery-wrapper ul li:hover{ background: -webkit-linear-gradient(top, rgba(58,96,209,1) 0%,rgba(44,72,194,1) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(58,96,209,1) 0%,rgba(44,72,194,1) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(58,96,209,1) 0%,rgba(44,72,194,1) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(58,96,209,1) 0%,rgba(44,72,194,1) 100%); /* W3C */ box-shadow:#5173d5 1px 1px 0 inset; } .home a:hover{ background-position:-200px 0; } .home { position:relative; border-radius:3px 3px 0 0; } .home span{ position:absolute; right:23px; top:12px; color:#d9ddea; text-shadow:rgba(0,0,0,0.25) 0 1px 0; } .gallery>a{ background-position:0 -40px; } .gallery>a:hover{ background-position:-200px -40px; } .logout{ border-radius:0 0 3px 3px; } .logout a{ background-position:0 -120px; } .logout a:hover{ background-position:-200px -120px; } .gallery-wrapper ul li a{ background-position:0 -80px; } .gallery-wrapper ul li a:hover{ background-position:-200px -80px; }

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

Вот и все. Готово!

Автором является Max. Материал взят из зарубежного источника. И представлен исключительно в ознакомительных целях.

Многие материалы на сайте взяты из блогов: "Все для веб-дизайнера Rudebox", "A free library of HTML, CSS, JS nuggets Codyhouse" - полностью переведен и представлен в ознакомительных целях!

vk.com/club.ssdru

Подписывайтесь на нашу группу в контакте vk.com/club.ssdru



Статьи по темеCSS3

Аккордеон с выпадающим списком на CSS3

Простая, отзывчивая карусель с анимированными дорожками SVG, используемыми в качестве эффектов перехода.


Аккордеон с выпадающим списком на CSS3

Красивый дизайн всегда положительно сказывается на его репутации. Ведь не секрет, если дизайн плох, то и находиться на таком ресурсе не вызывает интереса. Недавно в одном из премиум шаблонов заметил интересное меню, которое отлично вписывается в темный дизайн сайта. Эта навигация весьма привлекательная, и меня она заинтересовала. Одним из преимуществ такого меню является то, что оно написано полностью на css. Идея меню состоит в том, что ползунок, который находиться над верхней частью меню, плавно скользит к активным пунктам навигации.


Аккордеон с выпадающим списком на CSS3

Я уже публиковал урок «Нестандартные Checkbox (RadioButton) без использования JavaScript». Прекрасные кнопочки, но там используются картинки!!! В данном примере используется только CSS. Всё очень просто вы вставляете код в свой стиль и получаете стильные, а именно на мой взгляд, в современном стиле кнопки.


Аккордеон с выпадающим списком на CSS3

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


Раскрутка в соцсетях

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


Перейти в Блог

Надёжный хостинг

С нами хостинг удобен и прост, как диван у вас дома. Вы с комфортом размещаетесь, а все внутренние пружины мы берем на себя.

Бесплатный тестовый период, ежедневные бэкапы, неограниченный трафик, акции с бонусами... Конечно, у нас все это есть.


Перейти на хостинг

О КОМПАНИИ

Studio Design существует с 2001 года. Основной нашей деятельностью до 2007 года было видеопроизводство ( видеореклама и документальные фильмы, о чем подробно описано в нашем блоге ). С 2007 года, вот уже как лет, наша основная специфика - это создание сайтов для бизнеса или частной деятельности, веб дизайн, а также поддержка и администрирование готовых проектов. Каждая выполненная нами работа - это уникальный, а самое главное, адаптивный под все современные мобильные устройства дизайн сайта. Мы готовы создать сайт с нуля для каждого клиента с любого уголка России! Мы поможем Вам в создании, как одностраничных сайтов – визиток, так и крупных интернет магазинов или корпоративных сайтов. А все наши работы, большинство из которых действуют и по сей день!

Close

Целовальников Сергей


Веб-дизайн, HTML5, CSS3, jQuery, JavaScript, Верстка.

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

Close