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

当显示子菜单us时,如何停止html/css/jquery菜单文本的移动?,jquery,html,css,menu,Jquery,Html,Css,Menu,我已经看到了很多关于菜单出现和消失的问题,我已经找到了一个解决方案,它可以在桌面和平板电脑设备上运行(好吧,我已经试过了),我使用jQuery.toggleClass函数实现了这一点,它像做梦一样工作 在这个菜单系统中,我有一个单一的“菜单”标签,当点击它时,它会显示一个带有一些链接的下拉菜单。如果再次单击“菜单”标签,则下拉菜单将消失。我的问题是,当你点击“菜单”文本来显示子菜单时,“菜单”一词会向右移动一点。当您单击隐藏菜单时,它会再次向后移动,我希望它保持在我首先放置它的位置 我相信CSS

我已经看到了很多关于菜单出现和消失的问题,我已经找到了一个解决方案,它可以在桌面和平板电脑设备上运行(好吧,我已经试过了),我使用jQuery.toggleClass函数实现了这一点,它像做梦一样工作

在这个菜单系统中,我有一个单一的“菜单”标签,当点击它时,它会显示一个带有一些链接的下拉菜单。如果再次单击“菜单”标签,则下拉菜单将消失。我的问题是,当你点击“菜单”文本来显示子菜单时,“菜单”一词会向右移动一点。当您单击隐藏菜单时,它会再次向后移动,我希望它保持在我首先放置它的位置

我相信CSS部分需要调整,并且已经尝试在几乎所有我认为可行的地方使用“left”属性,但没有效果

我创造了这是JFIDLE,但在那里“菜单”一词甚至没有出现。如果你想查看代码,链接是

网页本身是可查看的,并且在此处可以看到菜单按钮:

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>

主页文本。

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


|/|artin

以下是对您的JSFIDLE的更新:

工作很好

修改:

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

并且主要从导航li中删除了浮动:右,对齐:右

可悲的是,这没有什么区别,当菜单本身显示时,“菜单”一词仍然会向右移动,当菜单隐藏时会再次向右移动。不,不会,你看到答案中提到的小提琴链接了吗。它正常工作。对不起,我看错了JSFIDLE。你提供的改变非常有效,Thanks非常感谢你的帮助!这很好,至少在帖子上投票,这可能会帮助其他有同样问题的人:)我已经把它标记为接受,我想,至少我还是打了绿色的票。可悲的是,我没有足够的声誉来提升它(只有12)。我会努力的,一旦我被允许,我会尽快投票。
#nav ul.visible {
    display: inline-block;
}