Сегодня хочу рассказать об такой удобной фишке, как вертикальное выпадающее меню для сайта на WordPress. Эту статью я решил написать после того,
как на одном из клиентских проектов, где очень много рубрик и подразделов, мне необходимо было уместить их все в какую-то читабельную форму. Так сама собой пришла идея сделать вертикальное выпадающее меню, которое бы экономило место на экране и в то же время было бы удобно для навигации по сайту. Итак, окунемся в код в HTML и CSS…
Содержание
Вертикальное выпадающее меню для сайта
Ну довольно лирики, беремся за учебу! Про создание сайта давненько на блоге не было публикаций, и та часть читателей, которая следит именно за этой линией моего блога, наверное уже немного подзаскучала. Но ничего — сегодня опять беремся за работу, и сегодня разбираем, как сделать многоуровневое вертикальное меню средствами HTML и CSS. Его еще называют меню-аккордеон, потому что оно является выпадающим — описания и подразделы открываются только при нажатии на пункт-заголовок. По традиции, мы рассмотрим два способа — без плагина и с ним — благо, возможности системы это позволяют.
Вертикальное меню CSS
Как вы понимаете, как в том, так и в другом варианте мы будем пользоваться jQuery и CSS 3. Для начала сделаем вертикальное выпадающее меню своими руками. Следует оговориться, что подобная навигация будет работать только в тех браузерах, которые поддерживают стандарт CSS 3, но на сей счет можно особо не беспокоиться, т.к. все современные программы последних версий его различают. Итак, костяк меню будет следующим:
<section> <div> <input id="ac-1" name="accordion-1" type="checkbox" /> <label for="ac-1">Заголовок 1</label> <ul><li>Пункт 1</li> <li>Пункт 2</li> </ul> </div> <div> <input id="ac-2" name="accordion-1" type="checkbox" checked /> <label for="ac-2">Заголовок 2</label> <ul><li>Пункт 3</li> <li>Пункт 4</li> </ul> </div> <div></div> </section>
Данный код мы вставляем в виджет «Текст» или напрямую в файл sidebar.php.
Далее зададим необходимые стили, добавив их в файл style.css:
.ac-container{ width: 400px; margin: 10px auto 30px auto; } .ac-container label{ font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif; padding: 5px 20px; position: relative; z-index: 20; display: block; height: 30px; cursor: pointer; color: #777; text-shadow: 1px 1px 1px rgba(255,255,255,0.8); line-height: 33px; font-size: 19px; background: linear-gradient(top, #ffffff 1%,#eaeaea 100%); box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3), 1px 0px 0px 0px rgba(255,255,255,0.9) inset, 0px 2px 2px rgba(0,0,0,0.1); } .ac-container label:hover{ background: #fff; } .ac-container input:checked + label, .ac-container input:checked + label:hover{ background: #c6e1ec; color: #3d7489; text-shadow: 0px 1px 1px rgba(255,255,255, 0.6); box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3), 0px 2px 2px rgba(0,0,0,0.1); } .ac-container label:hover:after, .ac-container input:checked + label:hover:after{ content: ''; position: absolute; width: 24px; height: 24px; right: 13px; top: 7px; background: transparent url(../images/arrow_down.png) no-repeat center center; } .ac-container input:checked + label:hover:after{ background-image: url(../images/arrow_up.png); } .ac-container input{ display: none; } .ac-container article{ background: rgba(255, 255, 255, 0.5); margin-top: -1px; overflow: hidden; height: 0px; position: relative; z-index: 10; transition: height 0.3s ease-in-out, box-shadow 0.6s linear; } .ac-container input:checked ~ article{ transition: height 0.5s ease-in-out, box-shadow 0.1s linear; box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3); } .ac-container article ul{ font-style: italic; color: #777; line-height: 23px; font-size: 14px; padding: 20px; text-shadow: 1px 1px 1px rgba(255,255,255,0.8); } .ac-container input:checked ~ article.ac-small{ height: 140px; } .ac-container input:checked ~ article.ac-medium{ height: 180px; } .ac-container input:checked ~ article.ac-large{ height: 230px; }
Данный код CSS полностью задает настройки для отображения и динамики панели вертикального выпадающего меню. Изображения стрелок («arrow_up.png» и «arrow_down.png») можете подобрать по своему вкусу, равно как и поменять цвета.
Вертикальное меню HTML с плагином для WordPress
К сожаленью, недостаток описанного способа в том, что все пункты придется менять вручную, в то время как при установке плагина они будут добавляться динамически. Да и это будет проще для новичков или при создании сайта на заказ для последующего управления им админа, не разбирающегося в тонкостях структуры шаблонов WordPress.
Плагин называется jQuery Vertical Accordion Menu Widget. Как видно из названия, это виджет, для которого вы задаете меню, созданное в соответствующем разделе, и задаете настройки отображения. Посмотрим подробнее, как это работает. После установки и активации плагина, заходим в «Внешний вид > Виджеты» и видим там наш новый виджет.
Перетаскиваем его в нужный сайдбар, как любой другой виджет и раскрываем для того, чтобы произвести настройки.
Основные настройки плагина меню WordPress
- Выберите меню — здесь вам надо указать то меню, которое вы создали в разделе «Внешний вид > Меню» и хотите вывести в виде выпадающего аккордеона. При этом пункты первого уровня будут заголовками (их можно сделать вообще без ссылок на какую-либо страницу), а второго уровня — выпадающими при нажатии или наведении мышки подпунктами.
- Click/Hover — действие, при котором будет срабатывать анимация — раскрываться подпункты. Либо при клике по материнскому заголовку, либо при наведении на него.
- Auto Close Open Menus — автоматическое закрытие открытых заголовков при активации других
- Save Menu State — использует куки браузера для того, чтобы пользователь, зайдя на сайт в другой раз, увидел меню в том самом виде, как он его оставил, покинув сайт в прошлый раз.
- Menu Class — можно указать классы, если вы хотите задействовать собственные настройки оформления CSS меню и прописали их в файле стилей шаблона.
- Hover Delay — задержка анимации при наведении
- Animation Speed — скорость анимации выпадающих пунктов меню
- Skin — выбор одного из предустановленных шаблонов.
Настроив все, получаем такую картинку:
Ну как, понравилось играть на аккордеоне? Вот такая музыкальная получилась статейка про то, как сделать вертикальное выпадающее меню для сайта на WordPres с помощью CSS, HTML и плагина. Подписывайтесь на обновления, и узнаете еще много нового — для вас заготовлено много интересного!
На закуску две интересные новости:
- во-первых, мой блог, наконец-то, перевалил по ежедневной посещаемости за 1000 пользователей — около 1200 уников в сутки — неплохо за полгода существования. Причем, большой рывок получился именно в этом месяце благодаря одному ноу-хау, о котором я расскажу в одной из следующих статей, так что следите за обновлениями! 😉
- А вторая — несколько моих статей про SEO появилось в популярном бесплатном электронном издании Поисковая Оптимизация от А до Я, в котором собраны самые интересные и полезные статьи на тему оптимизации и раскрутки сайтов. Очень рекомендую скачать и прочитать эту кладезь знаний, состоящую аж из 3 томов.
Спасибо, плагин то что нужно. (я пока вручную не очень.)
Пожалуйста!