如何将最后3个菜单项与WordPress主菜单对齐

时间:2015-03-27 作者:AJD

我想设置水平Wordpress主菜单的样式,以便前3项向左对齐,后3项向右对齐。

这将创建两个菜单的外观(右侧有登录名等),但可以轻松地重新设置样式,以创建一个底部有最后三个项目的响应菜单。

菜单:

<UL> 
<li>1a</li><li>2a</li><li>3a</li> <-left    right-> <li>4a</li><li>5a</li><li>6a</li>
</UL>
使用float left和right会导致最后3项改变顺序,我需要它们保持顺序。

我想要一个解决方案,它不需要创建单独的菜单或更改菜单项的顺序来进行浮动:右按正确的顺序将它们放回原位。

我尝试过各种显示组合:内联块和文本对齐:左/右,但运气不佳。

编辑:我希望在不向菜单本身添加标记的情况下执行此操作。(除非答案还说明了如何将标记添加到Wordpress水平菜单中。)

2 个回复
最合适的回答,由SO网友:cfx 整理而成

有一种更简单的方法,无需更改标记和最小化CSS。Live demo/fiddle here, 代码如下:

<ul> 
  <li>1a</li><li>2a</li><li>3a</li><li>4a</li><li>5a</li><li>6a</li>
</ul>
<小时>
ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}
li {
    float: left;
}
li:nth-last-child(1), li:nth-last-child(2), li:nth-last-child(3) {
    float: none;
    display: inline-block;
}

SO网友:tao

您需要将两个组(左对齐和右对齐的项目)包装在两个容器中。您比设置float left, 分别地right 在那些容器上。

<UL> 
    <div class="pull-left"><li>1a</li><li>2a</li><li>3a</li></div>
    <div class="pull-right"><li>4a</li><li>5a</li><li>6a</li></div>
</UL>
确保内部元素display 设置为inline-block. 您还需要设置overflow 的属性ul 元素设置为“hidden”,以确保它扩展到包含所有子元素,因为两者都是浮动的。

.pull-left { float: left; }
.pull-right { float: right; }
.pull-left li, .pull-right li { display: inline-block; }
ul { overflow: hidden; }
设置overflow: hidden 对于所有ul 项目中的元素可能不是一个好主意,因此您可能希望找到ul 并将其添加到ul 选择器。(例如:.some-container-class-here ul { overflow: hidden;} )

结束

相关推荐

注册_NAV_MENUS,然后以编程方式创建菜单

我有一个register_nav_menus 调用我的主题函数。php://register nav menu and footer nav. register_nav_menus( array( \'main-nav\' => \'Main Navigation\', \'footer-nav\' => \'Footer Navigation\' ) ); 这很好,但我想采取额外的步