У меня проблема с меню... Я хочу, когда я навещу элемент <li>
чтобы открыть раскрывающееся меню и сделать остальные элементы <li>
50% меньше в одно и то же время, только когда я навешиваю в конкретном <li>
элемент. Я не знаю, объяснил ли я это хорошо, но вот код, который я сделал до сих пор, и скрипт js, чтобы увидеть его в действии... Я могу выполнить это только с элементом <li>
который я навешиваю, но я хочу сделайте это и во всем остальном.
Код HTML:
<nav>
<ul>
<li><a href="#">1</a></li>
<li class="a">
<a href="#">2</a>
<ul class="hide-menu a1">
<li><a href="#">1-1</a></li>
<li><a href="#">2-2</a></li>
<li class="b">
<a href="#">3-3</a>
<ul class="hide-menu b1">
<li><a href="#">1-1-1</a></li>
<li><a href="#">2-2-2</a></li>
<li><a href="#">3-3-3</a></li>
<li><a href="#">4-4-4</a></li>
</ul>
</li>
<li><a href="#">4-4</a></li>
</ul>
</li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
</ul>
</nav>
Код CSS:
nav {background-color:grey;width:200px;position:relative;}
ul {list-style:none;padding:0;margin:0;}
li{width:100%;background-color:red;margin-top:10px;text-align:center;padding:10px 0;}
a{text-decoration:none;}
.hide-menu {display:none;position:absolute;}
nav li.a:hover ul.a1 {display:block;}
nav li.b:hover ul.b1 {display:block;}
nav > ul > li.a:hover {width:50%;}
.a1{left:100px;top:39px;}
.b1{left:50px;top:99px;}
.a1 > li{background-color:purple;width:50px;}
.b1 > li{background-color:cyan;width:50px;}
и вот сценарий: http://jsfiddle.net/ELnX5/1/
nav {background-color:grey;width:200px;position:relative;}
ul {list-style:none;padding:0;margin:0;}
li{width:100%;background-color:red;margin-top:10px;text-align:center;padding:10px 0;}
a{text-decoration:none;}
.hide-menu {display:none;position:absolute;}
nav li.a:hover ul.a1 {display:block;}
nav li.b:hover ul.b1 {display:block;}
nav > ul > li.a:hover ~ li{width:50%;}
.a1{left:100px;top:39px;}
.b1{left:50px;top:99px;}
.a1 > li{background-color:purple;width:50px;}
.b1 > li{background-color:cyan;width:50px;}