css выпадающее меню
Здравствуйте,
при таком порядке ul li не работает (листинг внизу) ul.nav li ul { display: none; /*скрываем вложенные пункты*/ } работает при порядке <ul> <li> <ul> .... </ul> </li> </ul> можно подстроить стили чтобы работало в текущем порядке стилей? Меню генерируется сторонним скриптом и нет большого желания лезть в него. <style> /* Вертикальное выпадающее меню*/ body{ background: #DCDCDC; } /*блок меню*/ ul{ margin: 0; padding: 0; } ul.nav li { background: #B3B3FF; border: 1px solid #FFFFFF; list-style: none; width: 150px; /*ширина блока меню*/ } ul.nav li a { text-decoration: none; display: block; padding: 5px 5px 5px 15px; } ul.nav li ul { display: none; /*скрываем вложенные пункты*/ } /*Выпадающее меню*/ ul.nav li:hover { /* позиционирование вложенных элементов * будет расчитыватьться относительно * родительского элемента */ position: relative; background: yellow; } ul.nav li:hover > ul { display: block; } ul.nav li:hover ul{ position: absolute; top: 0; /*Задаём координаты для вложенных пунктов*/ left: 150px; /*меню раскрывается вправо*/ } </style> <ul class="nav"> <li><a href="#">Главная категория</a></li> <ul id="c1"> <li><a href="#">Подкатегория 1</a></li> <ul id="c2"> <li><a href="#">Подкатегория 1.1</a></li> <ul id="c3"> <li><a href="#">Подкатегория 1.1.1</a></li> <li><a href="#">Подкатегория 1.1.2</a></li> </ul> <li><a href="#">Подкатегория 1.2</a></li> </ul> <li><a href="#">Подкатегория 2</a></li> <ul id="c7"> <li><a href="#">Подкатегория 2.1</a></li> <li><a href="#">Подкатегория 2.2</a></li> </ul> </ul> </ul> |
https://jsfiddle.net/BlackStar1991/h94zjxtj/ Так что ли?
|
оно должно все раскрываться, т.е. в 1.1 пункте должны выпадать пункты 1.1.1 и 1.1.2 а сейчас все скопом, можно даже пусть главная категория и подкатегория 1, подкатегория 2 и т.д. сразу видны.
|
оно должно все раскрываться == а сейчас все скопом. :blink:
Я не понял что имеется ввиду. Согласно здравой логике, возможно вы имели ввиду это? https://jsfiddle.net/BlackStar1991/h94zjxtj/3/ Ваша главная ошибка что вы не правильно составляете многоуровненый список + забудьте про id селектор |
css for dropdown
<style> /* Style The Dropdown Button */ .dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } /* The container <div> - needed to position the dropdown content */ .dropdown { position: relative; display: inline-block; } /* Dropdown Content (Hidden by Default) */ .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* Links inside the dropdown */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* Change color of dropdown links on hover */ .dropdown-content a:hover {background-color: #f1f1f1} /* Show the dropdown menu on hover */ .dropdown:hover .dropdown-content { display: block; } /* Change the background color of the dropdown button when the dropdown content is shown */ .dropdown:hover .dropbtn { background-color: #3e8e41; } </style> <div class="dropdown"> <button class="dropbtn">Dropdown</button> <div class="dropdown-content"> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> |
manisha,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Часовой пояс GMT +3, время: 22:46. |