0

これが純粋なCSSで可能かどうかはわかりません。私の例を確認してください。

http://jsfiddle.net/fantill/72xjU/

メニューのレベル2にカーソルを合わせると、レベル3と'inline'同様のレベル1が表示され、同時に各レベル3の下のすべてのレベル4メニューが'block'同様のレベル2と表示されます。

-------------------------------------------
|      MENU                               |
|      Level 1                            |
-------------------------------------------
| Level2|           Level 3  Inline       |
|       |----------------------------------
|       | Level4  | Level4 | Level4|Level4|
--------|         |        |       |      |
        |         |        |       |      |
        |----------------------------------

アドバイスありがとうございます。

4

1 に答える 1

2

フィドル:http : //jsfiddle.net/4CGwe/1/

マークアップはこのスキームを尊重する必要があります。

#BLABLA > ul > li > a
#BLABLA > ul > li > ul > li > ul > li > ul > li > a

(すべてに<LI>含まれている必要が<A>あり、オプションで<UL>

これがCSSです:

    #BLABLA ul
        {list-style:none;margin:0;padding:0;display:none;}
    #BLABLA li
        {position:relative;}
    #BLABLA a
        {border:2px red outset;padding:10px 30px;display:block;}

    /* by default only the first level menu is visible */
    #BLABLA > ul
        {display:block;}

    /* by default hovering a item will try to show its own sub-menu */
    #BLABLA li:hover > ul
        {display:block;}

    /* any submenu (2,3,4 level) is absolute */
    #BLABLA ul ul
        {position:absolute;}

    /* FIRST LEVEL MENU */
    #BLABLA > ul > li
        {float:left;}
    #BLABLA > ul > li > a
        {background:orange;}

    /* SECOND LEVEL MENU */
    #BLABLA > ul > li > ul
        {top:100%;left:0;}
    #BLABLA > ul > li > ul > li > a
        {background:pink;}

    /* THIRD LEVEL MENU */
    #BLABLA > ul > li > ul > li > ul
        {left:100%;top:0;width:900px;} /* sadly here you have to set manually a huge width */
    #BLABLA > ul > li > ul > li > ul > li
        {float:left;}
    #BLABLA > ul > li > ul > li > ul > li > a
        {background:gold;}  

    /* FOURTH LEVEL MENU */
    #BLABLA > ul > li > ul > li > ul > li > ul > li > a
        {background:lightblue;}

PS:幅を設定する代替案に興味があるかどうか教えてください:900px

于 2013-01-12T19:36:20.017 に答える