首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS菜单将一个子元素悬停,并同时更改所有其他元素。

CSS菜单将一个子元素悬停,并同时更改所有其他元素。
EN

Stack Overflow用户
提问于 2014-04-16 13:21:35
回答 1查看 285关注 0票数 0

我对菜单有问题..。我希望当我在<li>元素上悬停时,打开下拉菜单,并使其他<li>元素在同一时间内更小50%,只有当我在特定的<li>元素中悬停时。我不知道我是否解释得很好,但这是我到目前为止所做的代码和一个js小提琴来看它的行动.我只能通过悬停的<li>元素来完成这个任务,但是我想要做到这一点,而且在所有其他方面都是如此。

HTML代码:

代码语言:javascript
复制
<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代码:

代码语言:javascript
复制
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/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 15:57:32

这个怎么样?

http://jsfiddle.net/ELnX5/3/

代码语言:javascript
复制
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;}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23110738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档