0

我正在做一个项目,我们正在抓取网站并提取内容,因此我无法控制 div 或 lis 的结构。

我遇到的问题是菜单上的下拉菜单没有与父菜单项左对齐。我正在寻找一些有助于解决此问题的 css/jquery,这是小提琴的链接:http://jsfiddle.net/9gQCH/3/

CSS & HTML

    #item1, #item2 {        
       background-color:#efefef;           
       display:inline;
       font-size:14px;
       margin-right:3px; 
       padding:5px; 
    }

    .Submenu {
        display: none;
        padding: 4px; 
        margin-top:18px;
        background-repeat:no-repeat;
    }  

    .Menu li:hover .Submenu{
        background-color:orange;
        display:inline;
        color: black;
        padding: 3px 5px;
        position:absolute;
    }



    <div class="Menu">
    <li id="item2">
        High level Item 1
        <div class="Submenu">
            <div>
                   Nested Item 1         
            </div> 
            <div>
                   Nested Item 2       
            </div>         
        </div>
    </li>  

    <li id="item2">
        High level Item 2
        <div class="Submenu">
            <div>
                   Nested Item 3         
            </div> 
            <div>
                   Nested Item 4       
            </div>         
        </div>
    </li> 
    </div> 
4

2 回答 2

1

http://jsfiddle.net/9gQCH/7/

使用 jQuery

$(".Submenu").each(function(){
    $(this).css("left",$(this).parent().offset().left);
});​
于 2012-11-16T21:32:47.577 回答
0

为此,您不需要 jQuery。只需将其添加到您的 CSS 中:

.Menu li { position: relative; }

更新(添加left: 0;到您的.Submenu班级):

.Menu li:hover .Submenu{
    background-color:orange;
    display:inline;
    color: black;
    padding: 3px 5px;
    position:absolute;

    left:0; // <------
}

top(如果你觉得有必要,你也可以添加一个属性)

小提琴:http: //jsfiddle.net/kboucher/gbhtC/

于 2012-11-16T21:08:34.163 回答