3

我正在使用这个: http: //jsfiddle.net/fJSVz/作为我的基本菜单,它对于底部固定菜单非常有效。也就是说,我需要显示当您将鼠标悬停在菜单上时出现的二级列表项,以显示 ABOVE、CENTERED 和 INLINE(在一行上)而不是一个在另一个之上。有什么线索我需要改变才能让它工作吗?我为此撕毁了我的头发!

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Dropup Demo</title>


<style type='text/css'>
   #navigation {
            width: 980px;
            height: 38px;
            margin-top:100px;
        }
            #navigation li {
                float: left;
                position: relative;
                width:100px;
                border:1px solid red;
            } #navigation li:hover { background: silver; }
                #navigation li a {
                    text-transform: uppercase;
                    color: white;
                    padding: 13px 33px;
                    line-height: 38px;
                    font-size: 11px;


                }
                    #navigation li a:hover { text-decoration: none; }
                    #navigation li ul {
                        position: absolute;
                        display:none;
                        z-index: 1000;
                        min-width: 100%;
                        left:-1px;
                    }
                    #navigation li:hover ul {
                        bottom:20px;
                        display:block;
                        background:#eee;
                    }
                        #navigation li ul li {
                            background: none;
                            width: 100%;
                        }
                            #navigation li ul li:hover {
                                background: none;
                                background-color: #2a51b5;
                            }
                            #navigation li ul li a {
                                text-transform: uppercase;
                                color: white;
                                padding: 8px 10px;
                                line-height: 28px;
                            width: 100%;

                            }
</style>



</head>
<body>
<ul id="navigation">

<li>1</li>

<li>2
<ul>

<li>2.1</li>
<li>2.2</li>
<li>2.3</li>

</ul>
</li>

<li>3</li>

<li>4</li>



</ul>

4

2 回答 2

1
                   #navigation li  ul {
                        /*position: absolute;*/
                        display:none;
                        z-index: 1000;
                        min-width: 100%;
                        left:-1px;
                    }

位置absolute是它使 ul 位于 that 之上的原因。

这是一个固定的http://jsfiddle.net/fJSVz/36/

于 2012-12-29T04:59:49.403 回答
1

它不能是内联的,因为它的宽度=它的父宽度的宽度,所以如果你想让它们成为内联,你需要给第二个 ul 宽度大于它的父级,那么它们的 li 可以在一行上。

所以

    #navigation ul li ul{
width:400%; /*  in this case it will be 4*100px */
}

   #navigation ul li ul li{
display:inline-block
}

这是示例

当父母是相对的,孩子是绝对的,孩子的宽度不能大于它的父母,你需要手动把它放大。

于 2012-12-29T05:22:15.347 回答