gpt4 book ai didi

html - CSS 下拉导航导致 html 内容移动

转载 作者:太空狗 更新时间:2023-10-29 14:40:47 25 4
gpt4 key购买 nike

我关于 SO 的第一个问题,希望它能达到标准,对于精通 CSS 艺术的人来说应该是一个简单的解决方案...

我遇到的问题是我的 css 驱动导航的下拉部分导致其下方的内容向右移动。我发现了类似的问题,但我已经尝试了所有提供的解决方案,但似乎没有任何效果......

我设法得到的最接近的方法是将 position:absolute; 添加到 #nav li:hover ul 标签,这确实会阻止内容移动,但会产生一个新问题,下拉子菜单仅在鼠标悬停在顶级菜单项上时可见,并且尝试将鼠标向下移动子菜单会导致它消失......另一个我发现同样令人沮丧的问题解决...

导航的 html 是标准的嵌套列表:

<div id="navigation_panel" class="orange_grad">
<!-- navigation-->
<ul id="nav">
<li><a href="#">about us</a>
<ul>
<li class="orange_grad"><a href="1">staff</a></li>
<li class="orange_grad"><a href="2">venue</a></li>
<li class="orange_grad"><a href="2">history</a></li>
<li class="orange_grad"><a href="2">community theatre</a></li>
<li class="orange_grad"><a href="2">rep theatre</a></li>
<li class="orange_grad"><a href="2">theatre school</a></li>
<li class="orange_grad"><a href="2">official partners</a></li>
</ul>
</li>
<li><a href="#">join us</a>
<ul>
<li class="orange_grad"><a href="1">friends membership</a></li>
<li class="orange_grad"><a href="2">wine club</a></li>
</ul>
</li>
<li><a href="#">hire</a>
<ul>
<li class="orange_grad"><a href="1">business</a></li>
<li class="orange_grad"><a href="2">rehersal space</a></li>
<li class="orange_grad"><a href="2">community groups</a></li>
<li class="orange_grad"><a href="2">theatre productions</a></li>
<li class="orange_grad"><a href="2">memorable occasions</a></li>
</ul>
</li>
<li><a href="#">contact</a>
<ul>
<li class="orange_grad"><a href="1">list of contacts</a></li>
<li class="orange_grad"><a href="2">contact us now</a></li>
</ul>
</li>
<li class=" last"><a href="#">support</a>
<ul>
<li class="orange_grad last"><a href="1">donations + requests</a></li>
<li class="orange_grad last"><a href="2">past sponsors</a></li>
<li class="orange_grad last"><a href="2">thanks</a></li>
<li class="orange_grad last"><a href="2">volunteers</a></li>
<li class="orange_grad last"><a href="2">set up a community event</a></li>
</ul>
</li>
</ul>

和附带的css如下:

#navigation_panel {border-radius: 18px 18px 0 0/ 18px 18px 0 0; width: 900px; height:50px;}

#nav { margin:0; padding: 0; list-style:none;}
#nav a{ color:black; font-size: 20px; text-decoration:none; min-height:50px; width:95px;}
#nav li {text-align:center; float:left; padding:14px 8px ; cursor:pointer; width:95px;}
#nav li.last{width:99px;}

#nav li ul {margin-top:14px; margin-left:-8px; padding:0; display: none; list-style:none;}
#nav li ul li{ border:1px solid black; width:95px; padding:6px 8px;}
#nav li ul li a{/*font-family:arial;*/ font-size:14px;}

#nav li:hover{ text-decoration:underline; }
#nav li:hover ul{display: block;}
#nav li:hover ul li {clear: left;}

我试图通过正常途径(在 google、SO 等上搜索)以及尝试各种定位配置来找到解决方案,但我似乎无法解决这个问题...提前感谢您的帮助,这个问题让我发疯了一整天!

最佳答案

已更新

终于有机会重新审视这个了。您只需将以下内容添加到 #nav li ul:

position: absolute;
z-index: 100;

在 IE8/9、FF 和 Chrome 中工作,尽管在 IE7 中子菜单的定位是关闭的,有或没有我的更改。为了解决这个问题,我建议通过您喜欢的任何方法使用 IE7 特定的 CSS。

关于html - CSS 下拉导航导致 html 内容移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com