菜单(子菜单)需要动态而不是静态

Menu (Submenu) Needs To Be Dynamic Instead Of Static

我有一个纯 .css 驱动的菜单。目前,我在 180 像素处出现了子子菜单上的弹出窗口。这显然是行不通的,因为一旦输入超过 180px 的菜单文本,子菜单文本就会被子菜单文本覆盖(在示例中,Highlighting Products > Entertainment Centers USA 显示了问题)。

.css 中我已明确说明 180px 宽度的位置在下方。我需要它是动态的,即无论第一级子菜单的宽度如何,弹出窗口都需要与第一级垂直菜单的右侧对齐。

/* -- Appearance of second vertical dropdown menu unhovered (submenu of first level vertical menu) -- */
.rmenu li ul li:hover ul li a {
    padding: 0px 0px 0px 5px;
    background: #e8dec7; /*background color for submenu hovered text*/
    color: #51db29;  /* this is the color of the sub-sub menu text. I made the color (#51db29) 'unusual' as an example. Should be changed to something less jarring (of course) */
    word-wrap: break-word;
    min-width:100px;
    position: relative; left: 180px; top: -35px;  /* display 3rd level to the right (180px) */  /*left: 180px*/

}

jfiddle 在这里:

http://jsfiddle.net/9c8wcxju/4/

非常非常感谢.....

我已经简化了所有内容并为您制作了这个。你可以扩展它并用它做你想做的事。我真的不能和你一起工作,最后删除了大部分 css。

如您所见,我已将 class 添加到子菜单的每个级别,以便更容易定位。我创建的是我认为你想要的,我希望这能让你走上正轨。

http://jsfiddle.net/9c8wcxju/5/

.rmenu ul li {
    margin: 0;
    padding: 0;
    position: relative;
}

.rmenu ul {
    list-style-type:none;
    margin:0;
    padding:0;
}

.rmenu li a {
    display:block;
    min-height: 35px;
    line-height: 35px;
    font-family: "Arial", sans-serif;
    font-size: 18px;
    color: #000000;
    background-color: #e8dec7;
    text-decoration: none;
    white-space: nowrap;
}
.rmenu li:hover a {
    background: #d6cbb0;
}
.rmenu .hidden {
    display: none;
}

.rmenu .level_1 > li {
    float: left;
}
.rmenu .level_1 > li a {
    padding: 0 10px;
}

.level_1 > li:hover .level_2,
.level_2 > li:hover .level_3 {
    display: block;
}

.level_2 {
    position: absolute;
    left: 0;
}
.level_3 {
    position: absolute;
    top: 0;
    left: 100%;
}