Каскадные таблицы стилей (CSS) стали настолько мощным инструментом, что теперь даже можно не использовать JavaScript для эффектов при наведении мыши, а также можно не использовать изображения, чтобы украсить сайт. С новым CSS3 появилось много свойств, которые просто отлично выглядят на сайтах. Это и вращения, градиенты, тени и скругленные углы, хотя ни одно из них не поддерживается в старых версиях Internet Explorer, но это никого не останавливает.
Сниппет в этой статье позволит добавить простое CSS меню в стандартное меню WordPress. Не нужно создавать свои классы CSS или menu walker для обеспечения совместимости.
Для тех, кто не знает, как добавить меню в WordPress. Необходимо выполнить следующие три простых шага для добавления меню, которым можно будет управлять из админ.панели.
1. Добавляем “register_nav_menu( ‘primary’, ‘Primary Menu’ );” в ваш файл functions.php
2. Добавляем “wp_nav_menu( array( ‘theme_location’ => ‘primary’) );” в то место, где вы хотите вывести ваше меню.
3. Переходим в WP-Admin > Внешний вид > Меню, добавляем меню и подменю и нажимаем «Сохранить»
4. В “Управлении областями”, выберите ваше меню в выпадающем списке “Основное меню”. Вот и все.Ваша область с меню должна выглядеть примерно так:
Сниппет
Добавляем сниппет в таблицу стилей вашей темы, в итоге получим примерно такое меню:
/* reset */ .menu, .menu ul, .menu li, .menu a { margin: 0; padding: 0; border: none; outline: none; } /* Стили меню */ .menu { box-shadow: 1px 1px 10px #333; -moz-box-shadow: 1px 1px 10px #333; -webkit-box-shadow: 1px 1px 10px #333; height: 40px; color:#FFFFFF; background:-moz-linear-gradient(top,#545454 1px,#363636);; background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#545454),color-stop(1,#363636)); -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background:#363636; } .menu li { position: relative; list-style: none; float: left; display: block; height: 40px; } /* css ссылок навигации */ .menu li a { display: block; padding: 0 14px; margin: 6px 0; line-height: 28px; text-decoration: none; border-left: 1px solid black; font-weight: bold; font-size: 13px; color: #fff; text-decoration:none; } .menu li:first-child a { border-left: none; } .menu li:last-child a{ border-right: none; } .menu li:hover > a { color: #ccc; } /* css блока выпадающего меню */ .menu .sub-menu { position: absolute; top: 40px; left: 0; width:200px; background:#363636; box-shadow:2px 2px 10px #333; -moz-box-shadow: 2px 2px 10px #333; -webkit-box-shadow: 2px 2px 10px #333; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; -webkit-transition: opacity .25s ease .1s; -moz-transition: opacity .25s ease .1s; -o-transition: opacity .25s ease .1s; -ms-transition: opacity .25s ease .1s; transition: opacity .25s ease .1s; opacity: 0; } .menu li:hover > .sub-menu { opacity: 1; } .menu .sub-menu li { height: 0; overflow: hidden; padding: 0; width:100%; -webkit-transition: height .25s ease .1s; -moz-transition: height .25s ease .1s; -o-transition: height .25s ease .1s; -ms-transition: height .25s ease .1s; transition: height .25s ease .1s; } .menu li:hover > .sub-menu li { height: 36px; overflow: visible; padding: 0; } /* css ссылок выпадающего меню */ .menu .sub-menu li a { padding: 4px 0 4px 14px; margin: 0; border: none; border-bottom: 1px solid black; } .menu .sub-menu li:last-child a { border: none; }
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.