使用下拉菜单在WordPress二十二中推送内容

时间:2013-04-11 18:17:15

标签: css wordpress navigation

我想修改WordPress Twenty Twelve主题的CSS,以便下拉子菜单链接将其余内容按下来。

我假设,我必须在子菜单中删除CSS中的position:absolute;,但是,出于某种原因,当我这样做时,子菜单仍然覆盖它下面的div,而不是将其推下来。

我很欣赏来自WordPress精明的人的建议!

2 个答案:

答案 0 :(得分:2)

我在网站上查了一下,然后从头开始创建样本菜单 我希望它会对你有所帮助。
这是一个fiddle 这是一些HTML(我省略了<a>标签,因此它更具可读性。

<div id="wrapper">
<ul id="nav">
    <li>link1
        <ul class="sub">
            <li>link1</li>
            <li>link2</li>
            <li>link3</li>
        </ul>
    </li>
    <li>link2
        <ul class="sub">
            <li>link1</li>
            <li>link2</li>
            <li>link3</li>
        </ul>
    </li>
    <li>link3
        <ul class="sub">
            <li>link1</li>
            <li>link2</li>
            <li>link3</li>
        </ul>
    </li>
</ul>
<div class="clear"></div>
</div>

这是css:

body
{
margin:0;
}
#wrapper
{
    background:#ccc;
}
ul{
    margin:0;
    padding:0;
    list-style:none;
}
#nav > li
{
    float:left;
}
#nav > li:hover .sub
{
    display:block;
}
.sub
{
    display:none;
}
.clear
{
clear:both;
}

我认为你应该能够根据自己的需要对其进行修改。


这是一步一步的指南,但请记住,您需要做更多的工作才能达到您想要的效果。这些是一些基本步骤。 导航:

.main-navigation {
    float: right; <- remove this line
    }

top ul:

.main-navigation ul.nav-menu, .main-navigation div.nav-menu > ul {
    display: inline-block !important;<- remove this line
}
.main-navigation ul.nav-menu, .main-navigation div.nav-menu > ul {
    display: none;<- remove this line
}
li:
.main-navigation li a, .main-navigation li {
    display: inline-block;<- remove this line  
}


.main-navigation li ul {
    display: none;
    position: absolute;<- remove this line
    top: 100%;
}

ul.nav-menu > li {<- add this rule
    float: left;
}

html中的一些变化:

<div class="menu-main-menu-container">
<ul id="menu-main-menu" class="nav-menu">
...
</ul>
<div class="clear"></div> <- add this line and the folowing rule in the css
</div>

.clear
{
clear:both;
}

从旧版本创建备份,并尝试一下。

答案 1 :(得分:-1)

尝试使用position : relative;代替position : absolute;