如何制作一个双列堆叠列表,一个左对齐,一个右对齐一个<UL>
元素?到目前为止,当我需要它们像块级元素一样堆叠时,我只能让元素浮动到彼此旁边。
所需的布局(来自PSD):
到目前为止我所拥有的:
的 HTML:
<nav>
<ul class="top_nav">
<li class="group_a"><a href="#">Hitched</a></li>
<li class="group_a"><a href="#">Hatched</a></li>
<li class="group_a"><a href="#">Hello</a></li>
<li class="group_b"><a href="#">Our Story</a></li>
<li class="group_b"><a href="#">Details</a></li>
<li class="group_b"><a href="#">Readymade</a></li>
</ul>
</nav>
CSS(SCSS):
header {
padding-top: $row / 4;
padding-left: $cols*2 - $gut;
padding-right: $cols*2 - $gut;
padding-bottom: $row / 3;
.top_nav {
.group_a {
display: inline-block;
float: left;
}
.group_b {
display: inline-block;
float: right;
}
}
}
答案 0 :(得分:2)
如果您可以重新排列html元素,以便group_a
和group_b
替代,那么您可以使用clear
来实现此目标:
<强> HTML 强>
<nav>
<ul class="top_nav">
<li class="group_a"><a href="#">Hitched</a></li>
<li class="group_b"><a href="#">Our Story</a></li>
<li class="group_a"><a href="#">Hatched</a></li>
<li class="group_b"><a href="#">Details</a></li>
<li class="group_a"><a href="#">Hello</a></li>
<li class="group_b"><a href="#">Readymade</a></li>
</ul>
</nav>
<强> SCSS 强>
nav {
padding-top: $row / 4;
padding-left: $cols*2 - $gut;
padding-right: $cols*2 - $gut;
padding-bottom: $row / 3;
.top_nav {
.group_a {
display: inline-block;
float: left;
clear: both;
}
.group_b {
display: inline-block;
float: right;
}
}
}
<强> Demo 强>
答案 1 :(得分:1)
或者,您只能为float: left;
设置.group_a
,为text-align: right;
设置.group_b
:
<强> CSS 强>
.group_a {
clear: both;
float: left;
}
.group_b {
text-align: right;
}
这样您就不必更改li
订单了。请记住,您可能会在IE IE中遇到一些问题。