0

在 CSS 中,我浮动嵌套列表集以创建下拉菜单。但是,标题并不像下拉菜单中的许多项目那么宽,因此标题最终会不成比例地间隔开(因为它们的每个下拉组件都有不同的宽度——显然列表与其最宽的组件一样宽)。有没有人对如何解决这个问题有任何建议?

这是我的代码:

<body>

    <ul id="navigation">

     <li><a href="#">Header A</a></li>
     <li class="sub">

      <a href="#">Header B</a>

      <ul>

       <li><a href="#">Item AAAAAAAAAAAA</a></li>
       <li><a href="#">Item BBBBBBBBBBBB</a></li>
       <li><a href="#">Item CCCCCCCCCCCC</a></li>
       <li><a href="#">Item DDDDDDDDDDDD</a></li>
       <li><a href="#">Item EEEEEEEEEEEE</a></li>
      </ul>

     </li>

     <li>
      <a href="#">Header C</a>
     </li>

    </ul>

</body>

这是CSS:

    body {

    padding: 0;
    margin: 0;

    }


 #navigation {
 margin: 0;
 padding: 0 1em;
 background: #000;
 height: 3em;
 list-style: none;
 font-family: "Helvetica Neue";
    } 

#navigation > li {
 float: left;
 height: 100%;
 margin-right: 0.5em;
 padding: 0 1em;
}

#navigation > li > a {
 color: #7A7A7A;
 text-decoration: none;
 line-height: 3;
 font-weight: bold;
}

#navigation > li > a:hover {
    color: #FFFFFF;
}

#navigation > li.sub ul {
 margin: 0;
 padding: 0.5em 0;
 list-style: none;
 background: rgba(12,13,69,1);
 position: relative;
 top: 10000px;
}

#navigation > li.sub ul li a {
 height: 100%;
 display: block;
 padding: 0.4em;
 color: #fff;
 font-weight: bold;
 text-decoration: none;
}

#navigation > li.sub ul li a:hover {
 background: #00F2FF;
 text-decoration: none;
}

#navigation > li.sub:hover ul {
 display: block;
 top: 0px;
}
4

1 回答 1

0

如果没有看到您的代码,就不可能说出您的具体情况发生了什么。

但这是一个工作示例:http: //jsfiddle.net/kboucher/nrAPu/

HTML

<nav>
    <ul>
        <li>
            Menu One
            <ul>
                <li>
                    <a href="#">Menu One Item One</a>
                    <ul>
                        <li><a href="#">Menu One Item One Submenu Item One</a></li>
                        <li><a href="#">Menu One Item One Submenu Item Two</a></li>
                        <li><a href="#">Menu One Item One Submenu Item Three</a></li>
                        <li><a href="#">Menu One Item One Submenu Item Four</a></li>
                    </ul>
                </li>
                <li><a href="#">Menu One Item Two</a></li>
                <li><a href="#">Menu One Item Three</a></li>
                <li><a href="#">Menu One Item Four</a></li>
            </ul>
        </li>
        <li>
            Menu Two
            <ul>
                <li><a href="#">Menu Two Item One</a></li>
                <li><a href="#">Menu Two Item Two</a></li>
                <li><a href="#">Menu Two Item Three</a></li>
                <li><a href="#">Menu Two Item Four</a></li>
            </ul>
        </li>
    </ul>
</nav>

CSS

body { font-family: Helvetica, Arial, Sans-serif; line-height: 1.5em; }
a:hover { color: #cc0000; }

/* Hide submenu */
nav ul > li > ul,
nav ul > li > ul > li > ul { display:none; }

/* Layout menubar and menus */
nav { background:#ddd; padding:0.25em 0.5em; }
nav > ul > li { cursor: pointer; display:inline-block; padding:0 1em; }
nav > ul > li > ul { background: #ddd; padding:0.5em; position: absolute; z-index: 1000; }
nav > ul > li > ul > li > ul { background: #ccc; padding:0.5em; position: absolute; left: 90%; top: 0; z-index: 1001; }

/* show submenu on hover */
nav ul > li:hover > ul,
nav ul > li > ul > li:hover > ul { display:block; width:10em; }
于 2012-10-23T22:29:35.340 回答