0

ドロップダウンの垂直メニュー項目を左側に開こうとしていますが、今のところ右側に開いていますが、左側に開く必要がありました。

どうすればこれを達成できますか? 、これを行うために次のことを書きました

CSS :

#navContainer
{
    margin: 0;
    padding: 0;
    background: red;
    border: 1px solid #7398ba;
    text-align: center;
    width: 220px;
}

    #navContainer ul
    {
        margin: 0;
        padding: 0;
        list-style: none;
    }

        #navContainer ul li
        {
            position: relative;
        }

            #navContainer ul li span
            {
                display: block;
            }

            #navContainer ul li a
            {
                text-decoration: none;
                color: white;
                display: block;
                padding: 8px;
            }

            #navContainer ul li span:hover
            {
                /*background: pink;*/
            }

            #navContainer ul li a:hover
            {
                background: black;
            }

        #navContainer ul ul
        {
            position: absolute;
            display: none;
        }

            #navContainer ul ul li a
            {
                background: #bec8cb;
            }

        #navContainer ul li:hover ul
        {
            width: 80%;
            position: absolute;
            display: block;
            left: 218px;
            top: 0;
        }

HTML :-

<div id="navContainer">
        <ul>
            <li><span><a href="#">Home</a></span></li>
            <li>
                <span><a href="#">About </a></span>
                <ul>
                    <li><a href="#">Our business</a></li>
                    <li><a href="#">Our History </a></li>
                </ul>
            </li>
            <li>
                <span><a href="#">Services</a></span>
                <ul>
                    <li><a href="#">Web Design</a></li>
                    <li><a href="#">Web templates </a></li>
                    <li><a href="#">Tutorials </a></li>
                </ul>
            </li>
            <li><span><a href="#">Contact</a></span></li>
            <li><span><a href="#">News</a></span></li>
        </ul>
    </div>

現在の結果:-

ここに画像の説明を入力

欲しかった結果

ここに画像の説明を入力

4

6 に答える 6

-1

絶対的なポジショニングに変更leftするだけです。rightあなたの場合:

変化する:

#navContainer ul li:hover ul
    {
        width: 80%;
        position: absolute;
        display: block;
        left: 218px;
        top: 0;
    }

に:

#navContainer ul li:hover ul
    {
        width: 80%;
        position: absolute;
        display: block;
        right: 218px;
        top: 0;
    }
于 2013-01-28T09:19:12.067 に答える
-1

#navContainer ul li:hover ulまたは、このようにのピクセルを正から負に変更できます

left: 218px==> left: -218px/ドロップダウンの幅は何でもul/

于 2013-01-28T09:21:03.690 に答える
-1

navContainer次のように右に移動する必要があります。

#navContainer
{
    margin: 0;
    padding: 0;
    background: red;
    border: 1px solid #7398ba;
    text-align: center;
    width: 220px;
    float: right;
}

次に、rightプロパティの代わりにプロパティをleft使用しますul

#navContainer ul li:hover ul
{
    width: 80%;
    position: absolute;
    display: block;
    left: 218px;
    top: 0;
}
于 2013-01-28T09:25:10.183 に答える
-1

left:218pxto - 値を変更しmargin-leftて mainに渡すnavigation ul

#navContainer
{
    margin: 0 0 0 218px;
    padding: 0;
    background: red;
    border: 1px solid #7398ba;
    text-align: center;
    width: 220px;
}
     #navContainer ul li:hover ul
        {
            width: 80%;
            position: absolute;
            display: block;
            left: -178px;
            top: 0;
        }

デモ

于 2013-01-28T09:21:41.283 に答える
-1
#navContainer
{
    margin: 0;
    padding: 0;
    background: red;
    border: 1px solid #7398ba;
    text-align: center;
    width: 220px;
    position:relative;
    float:right;
}

#navContainer ul
{
    margin: 0;
    padding: 0;
    list-style: none;

}

#navContainer ul li
{
    position: relative;
}

#navContainer ul li span
{
    display: block;
}

#navContainer ul li a
{
    text-decoration: none;
    color: white;
    display: block;
    padding: 8px;
}

#navContainer ul li span:hover
{
    /*background: pink;*/
}

#navContainer ul li a:hover
{
    background: black;
}

#navContainer ul ul
{
    position: relative;
    display: none;

}

#navContainer ul ul li a
{
    background: #bec8cb;
}

#navContainer ul li:hover ul
{
    width: 80%;
    position: absolute;
    display: block;
    left: 218px;
    top: 0;
    margin-left:-380px;
}



<div id="navContainer">
        <ul>
            <li><span><a href="#">Home</a></span></li>
            <li>
                <span><a href="#">About </a></span>
                <ul>
                    <li><a href="#">Our business</a></li>
                    <li><a href="#">Our History </a></li>
                </ul>
            </li>
            <li>
                <span><a href="#">Services</a></span>
                <ul>
                    <li><a href="#">Web Design</a></li>
                    <li><a href="#">Web templates </a></li>
                    <li><a href="#">Tutorials </a></li>
                </ul>
            </li>
            <li><span><a href="#">Contact</a></span></li>
            <li><span><a href="#">News</a></span></li>
        </ul>
    </div>
于 2013-01-28T10:03:17.927 に答える