![](/img/trans.png)
[英]How do I make sure my drop down menus overlap and cover anything on my page?
[英]How do I create a centered pure CSS drop down menu that doesn't overlap other menus?
我正在尝试创建一个居中的纯CSS下拉菜单,但在实现方面遇到了麻烦。 问题总结:
这是一个JSFiddle示例: http : //jsfiddle.net/nxq55ppr/1/
这是HTML:
<div class="menuitems">
<div class="menuouter"><div class="menuinner">First menu<ul>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="/#">Ipsum</a></li>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="/#">Ipsum</a></li>
</ul></div></div>
<div class="menuouter"><div class="menuinner">Second menu<ul>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="/#">Ipsum</a></li>
<li><a class="menuitem " href="#">Lorem</a></li>
<li><a class="menuitem " href="/#">Ipsum</a></li>
</ul></div></div>
这是CSS:
.menuinner {
margin: 10px;
padding: 10px;
border: 2px solid purple;
width: 200px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
position: absolute;
}
.menuinner > ul { display: none; }
.menuinner:hover > ul { padding: 0; margin: 0; list-style-type: none; display: block; background: #f9f9f9; border-top: 1px solid purple;}
.menuinner:hover > ul > li { list-style-type:none; padding: 5px; display: block;}
.menuinner:hover > ul > li:hover { background: #ccc;}
.menuinner:hover > ul > li:hover > a { color: red; }
这是您的小提琴的更新版本
我还为您的CSS添加了框大小调整规则
*, *:before, *:after {
box-sizing: border-box;
}
所做的更改
您的.menuinner
没有背景色,因此显得透明
您的.menuinner
具有指定的宽度,但父.menuouter
具有完整宽度
您的.menuinner
具有绝对位置。
您的ul
元素具有默认的顶部和底部边距。
我将锚元素从内联更改为块,并给其完整宽度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.