子导航显示问题

Sub Navigation Display Issue

我正在构建一个网站,顶部有一些选项卡,其中一个选项卡有子导航,但我在显示方式上遇到了一些问题。

ASPX 页面

<div id="navigation">
                    <ul>
                        <li id="tab1">
                            <a href="Home.aspx">Home</a>
                        </li>
                        <li id="tab2">
                            <a href="AllHouses.aspx">Houses</a>
                            <ul>
                                <li> 
                                    <a href="Houses.aspx">Search Houses</a>
                                </li>
                            </ul>
                        </li>
                        <li id="tab3">
                            <a href="Events.aspx">Events</a>
                        </li>
                        <li id="tab4">
                            <a href="Maps.aspx">Maps</a>
                        </li>
                        <li id="tab5">
                            <a href="About.aspx">About</a>
                        </li>
                        <li id="tab6">
                            <a href="Contact.aspx">Contact</a>
                        </li>
                        <li id="tab7">
                            <a href="Links.aspx">Links</a>
                        </li>
                    </ul>
                </div>

我的子导航是房屋标签下的搜索房屋标签。

CSS

#navigation {
    background: url(../images/bg-navigation.png) no-repeat;
    clear: both;
    height: 50px;
    width: 860px;
    margin: 0 auto;
    padding: 1px;
    position: relative;
    z-index: 10;
}

    #navigation ul {
        display: inline-block;
        width: 860px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #navigation li {
        float: left;
        background-position: 0 -118px;
        background-repeat: no-repeat;
        height: 49px;
        width: 122px;
        margin: 0;
        padding-left: 1px;
        text-align: center;
    }

        #navigation li:first-child {
            background: none;
            margin-left: 0;
            padding-left: 0;
        }

        #navigation li a {
            color: #fff;
            display: block;
            font: bold 14px/48px Arial, Helvetica, sans-serif;
            height: 49px;
            text-decoration: none;
            text-transform: uppercase;
        }

            #navigation li a:hover {
                background-position: 0 -59px;
                color: #6d6157;
            }

        #navigation li.selected a {
            background-position: 0 0;
            color: #e4e1bd;
        }

母版页上 Select 选项卡的功能

 function setCurrentTab(selectedTab) {
            $('li').removeClass('selected');
            $('[id=' + selectedTab + ']').addClass('selected');
        }

房屋功能

$(function () { setCurrentTab('tab2'); });

搜索房屋功能

$(function () { setCurrentTab('tab2'); });

它 'tab2' 也是因为我希望房屋选项卡保持选中状态,而不是搜索房屋选项卡。

预览

这是主页 运行 突出显示的部分是子导航选项卡 "search houses" 在我将鼠标悬停在房屋选项卡上之前你应该看不到它。

我将鼠标悬停在房屋选项卡上,但没有显示子导航,但它仍然在突出显示的部分。

当我向下移动到突出显示的部分时,它现在显示搜索房屋选项卡。

当我单击房屋选项卡时,两个选项卡都被选中,我不希望我只希望房屋选项卡被选中。

当我点击搜索房子时,同样的事情发生了。我只想选房子。

我很确定这是样式问题,但我无法理解它。

我试了一下,请看我的fiddlehere.

我在 fiddle 中使用了背景颜色,因为我无法访问您使用的图像。

对于子菜单,我添加了下面的样式,以便子菜单隐藏直到悬停:

#navigation li ul {
    display: none;
    background: #ddd;
}
#navigation li:hover ul {
    width: 100%;
    display: inline-block;
    position: absolute;
    top: 100%;
    left: 1px;
}

我还修改了这部分(需要子菜单定位),我添加了 position: relative 样式。

#navigation li {
    float: left;
    background-position: 0 -118px;
    background-repeat: no-repeat;
    height: 49px;
    width: 122px;
    margin: 0;
    padding-left: 1px;
    text-align: center;
    position: relative;
}