2009-08-02 177 views
0

我已经建立了here.下拉菜单

我不得不设置一些李时珍显示我的问题的例子:内联,使他们可以在同一行会发生,但现在我需要向他们添加下拉列表,并且下拉列表发生在我希望他们的页面的另一侧。我必须以不同的方式放置我的原始李?

+0

也许你可能会让别人更容易帮助你? – 2009-08-02 02:11:42

+0

我不知道如何让它更容易显示给你。 – 2009-08-02 02:20:10

回答

0

我不知道你是否试图将顶层菜单移动到左边,或者是右边的子菜单,所以我会提出一个解决方案。

如果您希望主菜单项出现在左侧,那么您需要删除或更改您的body css中的text-align: right

如果你想在子菜单出现在右侧,然后因为你<ul> s的绝对定位,你应该改变这种规则:

li:hover ul 
    { 
     left: auto; 
    } 

这样:

li:hover ul 
    { 
     right: 0; 
    } 
1

请请注意,如果您想在除锚点标记以外的其他任何地方使用:hover类,请不要让它在IE6中正常工作,并确保您的其他浏览器具有正确的DOCTYPE

尝试用这种替代你的CSS的相关部分:

li 
{ 
    display: inline; 
} 

ul.level_1 li 
{ 
    position: relative; 
} 

ul.level_1 ul 
{ 
    position: absolute; 
    visibility: hidden; 
} 

li:hover ul 
{ 
    position: absolute; 
    right: 0; 
    visibility: visible; 
    width: 300px; 
} 

,直到你将鼠标悬停在父列表项节点基本上隐藏的子级列表。

将父列表项目节点设置为position:relative意味着如果您将任何子节点设置为position:absolute,它将被设置为不是浏览器窗口,而是相对于父列表项。这将使它们直接显示在您悬停的列表项下方,而不是在窗口的另一侧。

添加了宽度以使子级列表显示为行而不是列。