3

私はこれを使用しています: http://jsfiddle.net/fJSVz/私の基本的なメニューとして、それは下の固定メニューに対して素晴らしく機能しています。とは言っても、メニューの上にカーソルを置いたときに表示される第 2 レベルのリスト項目を、上下に重ねて表示するのではなく、ABOVE、CENTERED、および INLINE (1 行に) 表示する必要があります。これを機能させるために何を変更する必要があるかについての手がかりはありますか? 私はこれで髪を引き裂いています!

<!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を作成する理由です。

これは固定のものhttp://jsfiddle.net/fJSVz/36/です。

于 2012-12-29T04:59:49.403 に答える
1

幅=親の幅であるため、インラインにすることはできません。したがって、インラインにしたい場合は、親よりも2番目に大きいul幅を指定する必要があります。その後、それらのliは1行にすることができます..

それで

    #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 に答える