Адаптивное вертикальное меню при помощи jQuery - Все для сайта

Свежие материалы

Post Top Ad

Your Ad Spot

понедельник, 27 ноября 2017 г.

Адаптивное вертикальное меню при помощи jQuery

Представляю вашему вниманию простой способ создания адаптивного (Responsive) аккордеона с открытием по клику при помощи jQuery.

Для того чтобы наше вертикальное меню работало надо подключить библиотеку jQuery из сервисов Google. Сделать это можно. добавив следующий код:


 
Если вы используете площадку Blogger - этот шаг можете пропустить, данная библиотека уже подключена.

1. HTML

Прелесть адаптивного меню в том, что подстраивается под ширину родительского блока и будет нормально смотреться как и в сайдбаре, так и в Header'е. В этом примере максимально возможная ширина блока 600px, но вы всегда сможете изменить ее в ту или иную сторону.

HTML код:


Заголовок Панели №1

ВАШ ТЕКСТ.
ВАШ ТЕКСТ.

Заголовок Панели №2

ВАШ ТЕКСТ.
ВАШ ТЕКСТ.

Заголовок Панели №3

ВАШ ТЕКСТ.
ВАШ ТЕКСТ.

2. CSS

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

CSS:
/* стили блока аккордеон */
.accordion {
  width:100%;
  max-width: 600px; 
  margin: 0 auto
}
/* секции аккордеона */
.accordion .accordion_item {
  margin-bottom:1px;
  position:relative
}
/* заголовки панелей аккордеона */
.accordion .title_block {
  font-weight: 400;
  font-size: 18px;
  color: #eee;
  cursor:pointer;
  background: #009688;
  padding:10px 55px 10px 15px;
  -webkit-transition:all .2s linear 0;
  -webkit-transition-delay:.2s 0;
  transition:all .2s linear 0
}
/* переключатель панелей, положение вниз */
.accordion .title_block:before {
  content:'';
  height:8px;
  width:8px;
  display:block;
  border:2px solid #fefefe;
  border-right-width:0;
  border-top-width:0;
  -ms-transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  position:absolute;
  right:20px;
  top:18px
}
/* активный переключатель, положение вверх */
.accordion .active_block .title_block:before {
  border:2px solid #fefefe;
  border-left-width:0;
  border-bottom-width:0;
  top:18px
}
.accordion .title_block:hover {
  background: #26A69A  
}
 
/* заголовок активного блока  */
.accordion .active_block .title_block {
  background: #26A69A;
  color:#fefefe
}
/* блоки с содержанием */
.accordion .info {
  display:none;
  padding:10px 15px;
  overflow: hidden;
  background:#f7f7f7
}
/* параграф внутри блоков с содержанием */
.accordion .info_item {
  margin-bottom:10px
}
/* картинки внутри аккордеона */
.accordion .info img {
    height: auto;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
/* полноразмерная картинка */
.large-img {
    width: 100%;
    margin-bottom: 10px;
}
/* миниатюра слева */
.img-left {
    width: 25%;
    float:left;
    margin:5px 15px 5px 0;
}
/* миниатюра справа */
.img-right {
    width: 25%;
    float:right;
    margin:5px 0 5px 15px;
}
В СSS добавлены отдельные стили для изображений, что позволяет размещать картинки в секциях слева или справа. Для этого нужно просто добавить к тегу img нужный класс class="img-left" или class="img-right". Позиционирование изображений определяется через float: right и float: left соответственно. Для полноразмерных изображений указана ширина 100%, с отступом от нижнего края в 10px.

Значения ширины в %, обеспечивает возможность пропорционального изменения картинок, при изменении размеров базового контейнера «аккордеона».

3. jQuery 


Итак HTML и внешний вид адаптивного вертикального меню готов, остается только запустить его. Для этого мы в самом начале подключали библиотеку jQuery. Для этого к документу html подключаем небольшой, исполняемый js, через функции которого, и обеспечим работоспособность нашего аккордеона:
 
Вот и все, наш адаптивный аккордеон готов.

Комментариев нет:

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

Post Top Ad

Your Ad Spot