#css #wordpress #menu
#css #wordpress #меню
Вопрос:
Страница, о которой идет речь:http://dev.cd-duplication-in-the-uk.com/disc-printing/screen /
http://jsfiddle.net/7maSx/2 / — Я бы хотел, чтобы меню с синим подменю всегда отображалось
У меня есть 100% CSS-меню, похожее на этот пример, которое было разработано в меню WordPress 3.0 для темы, которую я разрабатывал…
<nav class="main">
<ul>
<li>Main 1
<ul>
<li>Sub 1</li>
<li>Sub 2</li>
<li>Sub 3</li>
</ul>
</li>
<li>Main 2
<ul>
<li>Sub 1</li>
<li>Sub 2</li>
</ul>
</li>
<li>Main 3</li>
</ul>
</nav>
С помощью следующего (соответствующего) CSS для формы / функции
nav.main ul li { display: inline; float: left; list-style: none; }
nav.main ul:first-child { position: relative; }/* for the position of sub menus */
nav.main li ul { display: none; position:absolute; top: 30px; left: 0px; z-index: 10; }
nav.main li:hover ul { display: block; }
…и этот CSS для раскрашивания основной (родительской) и вспомогательной (дочерней) страницы, на которой находится пользователь.
ul.menu li.current-menu-parent a {color: #036;}
ul.sub-menu li.menu-item a {color: #999;}
ul.sub-menu li.current_page_item a {color: #036;}
Я ищу способ сохранить подменю открытым, если одним из элементов li является .current_page_item
Прямо сейчас как родительский, так и дочерний элементы меню li имеют правильный стиль, но я не могу понять, как сохранить подменю открытым.
Что бы вы все предложили?
С уважением, Клинт
Ответ №1:
Вам нужно изменить это, чтобы оно отображало подменю и при наведении курсора:
nav.main li:hover ul, nav.main li:hover ul li { display: block; }
Но есть разрыв между основным и подменю, который вам также придется закрыть. Если курсор попадет в пробел, меню закроется.
nav.main li ul { display: none; position:absolute; padding-top: 30px; left: 0px; z-index: 10; }
Смотрите:http://jsfiddle.net/aBtbN /
Комментарии:
1. Спасибо, что посмотрели, но я думаю, что мне нужно, чтобы подменю оставалось видимым, если это та страница, на которой вы находитесь. jsfiddle.net/aBtbN/3 — например, если у li есть класс .active, я хочу, чтобы это подменю оставалось открытым.
2. Для этого вам нужно использовать JavaScript или изменить имя класса в коде сервера для текущего элемента, чтобы вы могли создать оператор CSS (например . активный{}), чтобы сохранить этот сегмент открытым. Вы не можете сделать это с помощью одного CSS.