Каскадные таблицы стилей (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. В “Управлении областями”, выберите ваше меню в выпадающем списке “Основное меню”. Вот и все.Ваша область с меню должна выглядеть примерно так:
![]()
Сниппет
Добавляем сниппет в таблицу стилей вашей темы, в итоге получим примерно такое меню:
![menu-200x110[1]](https://wpincode.com/wp-content/uploads/2014/02/menu-200x1101.png)
/* 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; }
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
