gpt4 book ai didi

jquery - 当子菜单显示时,如何停止我的 html/css/jquery 菜单文本移动?

转载 作者:行者123 更新时间:2023-11-28 03:20:33 26 4
gpt4 key购买 nike

我已经看到很多关于使菜单出现和消失的问题,并且我找到了解决该问题的方法,该方法适用于台式机和平板设备(好吧,无论如何我已经尝试过),我使用 jQuery 做到了。 toggleClass 功能如梦似幻。

在这个菜单系统中,我有一个“菜单”标签,单击该标签时,会显示一个带有一些链接的下拉菜单。如果您再次单击“菜单”标签,则下拉菜单会消失。我遇到的问题是,当您单击“菜单”文本以显示子菜单时,“菜单”一词向右移动了一点。当您单击以隐藏菜单时,它会再次移回,我希望它留在我最初放置的位置!

我认为是 CSS 部分需要调整,并且已经尝试在几乎所有我认为可行的地方使用“left”属性,但无济于事。

我创建的是 jfiddle,但其中甚至没有出现“菜单”一词。如果您想查看那里的代码,链接是 http://jsfiddle.net/wardmw/JpgRP/

网页本身是可见的,菜单按钮在这里可见:http://www.widowssons-southeast.org.uk/National/main.html

CSS如下:

#nav {
padding:0;
margin:60px 0 0 0;
vertical-align: text-bottom;
font-size:18px;
font-family:'Lucida Sans Unicode';
text-decoration: none;
list-style: none;
display: inline-table;
position: relative;
left: -80px;
z-index:30;
}
/* #nav>li is the "Menu" option itself. There is only one li */
#nav li {
position:relative;
font-weight: semibold;
align: right;
width:192px;
line-height:40px;
padding:0 10px;
float:right;
display: inline-table;
border-right: 0px solid #d8d8d8;
}
#nav ul.sub-nav {
font-weight: normal;
background: #efefef;
background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -webkit-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.15);
padding: 0 20px;
border-radius: 10px;
list-style: none;
position: relative;
display: none;
}
#nav ul.visible {
display: inline-table;
}
#nav ul li {
border-right: 0px solid #d8d8d8;
line-height:20px;
white-space:nowrap;
margin-bottom:2px;
}
#nav ul li:hover {
font-weight:bold;
}
#nav ul li a {
color:#132d3c;
font-size:15px;
font-family:'Lucida Sans Unicode';
text-decoration: none;
}

HTML 脚本:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"</script>

<script>

$(document).ready(function() {
$('.parent').click(function() {
$('.sub-nav').toggleClass('visible');
});
});

</script>

HTML 菜单本身:

<div id="header">
<div id="menudiv">
<!-- This is the right-hand of the three columns in the header -->
<ul id="nav">
<li class="parent">Menu</li>
<ul class="sub-nav">
<li><a href="who.html">Who we are</a>

</li>
<li><a href="what.html">What we do</a>

</li>
<li><a href="where.html">Where we are</a>

</li>
<li><a href="links.html">Who we like</a>

</li>
</ul>
</ul>
</div>
<!-- menudiv -->
<div id="left">
<!-- This is the left hand of the three columns -->
<img border="0" src="images/ws-logo.png" width="1" height="1" alt="WSMBA" />
</div>
<!-- left -->
<div id="middle">
<!-- This is the middle of the three columns -->
</div>
<!-- middle -->
</div>
<!-- header -->
<p />Main page text.

如有任何建议,我们将不胜感激。

|/|艺术

最佳答案

这是对您的 jsfiddle 的更新:

http://jsfiddle.net/JpgRP/1/

工作正常。

修改:

#nav ul.visible {
display: inline-block;
}

并且主要从导航栏中删除了 float:right, align:right。

关于jquery - 当子菜单显示时,如何停止我的 html/css/jquery 菜单文本移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24725173/

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