导航在移动设备上为 1 列,在中型设备上为 2 列,在大屏幕上为单行居中
Nav with 1 column on mobile, 2 columns on mid-size, single line centered on large screens
我正在尝试创建一个纯文本的页脚导航,它在移动设备上显示为单列(居中),在中型设备上显示为两列,文本居中,在台式机上显示为单行居中。
HTML
<div class="container-fluid container-footer">
<div class="row">
<div class="col-sm-6">
<ul class="nav nav-footer left">
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C with longer name</a></li>
<li><a href="#">Link D</a></li>
<li><a href="#">Link E</a></li>
</ul>
</div>
<div class="col-sm-6">
<ul class="nav nav-footer right">
<li><a href="#">Link F</a></li>
<li><a href="#">Link G</a></li>
<li><a href="#">Link H</a></li>
<li><a href="#">LINK I</a></li>
</ul>
</div>
</div>
</div>
CSS
.container-footer {
background-color: #e3e3e3;
text-align: center;
padding: 20px 0;
margin-top: 20px;
}
.container-footer a {
color: #464646;
}
.nav-footer {
margin: 0px auto;
}
.nav-footer li {
width: 100%;
text-align: center;
}
@media (min-width: 768px) {
.nav-footer li {
width: auto;
display: block;
}
}
@media (min-width: 992px) {
.nav-footer li {
width: auto;
display: inline-block;
}
.left {
text-align: right;
}
.right {
text-align: left;
}
}
这是我所能得到的最接近的结果:http://codepen.io/anon/pen/XbbyKK
在笔中,除了在大屏幕(992px 以上)上的单行显示外,一切都如我所愿。主要问题是因为左栏的项目比右栏多,所以整个菜单向屏幕左侧倾斜。
可能有一种明显的方法可以做到这一点,但我只是没有看到,因为我已经盯着它看太久了,所以任何建议都将不胜感激!
你可以大大简化事情。不需要那么多包装 div,也不需要打破 2 中的链接列表。这里我使用 multi column layout 来获得两个中等大小的平衡列。对于更大的尺寸,我只是撤消它,并且你的内联块技术现在工作正常,因为列表不再分成两半。
HTML
<div class="container-fluid container-footer">
<ul class="nav nav-footer">
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C with longer name</a></li>
<li><a href="#">Link D</a></li>
<li><a href="#">Link E</a></li>
<li><a href="#">Link F</a></li>
<li><a href="#">Link G</a></li>
<li><a href="#">Link H</a></li>
<li><a href="#">LINK I</a></li>
</ul>
</div>
CSS
.container-footer {
background-color: #e3e3e3;
text-align: center;
padding: 20px 0;
margin-top: 20px;
}
.container-footer a {
color: #464646;
}
.nav-footer {
margin: 0px auto;
}
.nav-footer li {
width: 100%;
text-align: center;
}
@media (min-width: 768px) {
.nav-footer li {
width: auto;
}
.nav-footer {
-ms-columns:2; -moz-columns:2; -webkit-columns:2; columns:2;
}
}
@media (min-width: 992px) {
.nav-footer {
-ms-columns:auto; -moz-columns:auto; -webkit-columns:auto; columns:auto;
}
.nav-footer li {
display: inline-block;
}
}
我正在尝试创建一个纯文本的页脚导航,它在移动设备上显示为单列(居中),在中型设备上显示为两列,文本居中,在台式机上显示为单行居中。
HTML
<div class="container-fluid container-footer">
<div class="row">
<div class="col-sm-6">
<ul class="nav nav-footer left">
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C with longer name</a></li>
<li><a href="#">Link D</a></li>
<li><a href="#">Link E</a></li>
</ul>
</div>
<div class="col-sm-6">
<ul class="nav nav-footer right">
<li><a href="#">Link F</a></li>
<li><a href="#">Link G</a></li>
<li><a href="#">Link H</a></li>
<li><a href="#">LINK I</a></li>
</ul>
</div>
</div>
</div>
CSS
.container-footer {
background-color: #e3e3e3;
text-align: center;
padding: 20px 0;
margin-top: 20px;
}
.container-footer a {
color: #464646;
}
.nav-footer {
margin: 0px auto;
}
.nav-footer li {
width: 100%;
text-align: center;
}
@media (min-width: 768px) {
.nav-footer li {
width: auto;
display: block;
}
}
@media (min-width: 992px) {
.nav-footer li {
width: auto;
display: inline-block;
}
.left {
text-align: right;
}
.right {
text-align: left;
}
}
这是我所能得到的最接近的结果:http://codepen.io/anon/pen/XbbyKK
在笔中,除了在大屏幕(992px 以上)上的单行显示外,一切都如我所愿。主要问题是因为左栏的项目比右栏多,所以整个菜单向屏幕左侧倾斜。
可能有一种明显的方法可以做到这一点,但我只是没有看到,因为我已经盯着它看太久了,所以任何建议都将不胜感激!
你可以大大简化事情。不需要那么多包装 div,也不需要打破 2 中的链接列表。这里我使用 multi column layout 来获得两个中等大小的平衡列。对于更大的尺寸,我只是撤消它,并且你的内联块技术现在工作正常,因为列表不再分成两半。
HTML
<div class="container-fluid container-footer">
<ul class="nav nav-footer">
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C with longer name</a></li>
<li><a href="#">Link D</a></li>
<li><a href="#">Link E</a></li>
<li><a href="#">Link F</a></li>
<li><a href="#">Link G</a></li>
<li><a href="#">Link H</a></li>
<li><a href="#">LINK I</a></li>
</ul>
</div>
CSS
.container-footer {
background-color: #e3e3e3;
text-align: center;
padding: 20px 0;
margin-top: 20px;
}
.container-footer a {
color: #464646;
}
.nav-footer {
margin: 0px auto;
}
.nav-footer li {
width: 100%;
text-align: center;
}
@media (min-width: 768px) {
.nav-footer li {
width: auto;
}
.nav-footer {
-ms-columns:2; -moz-columns:2; -webkit-columns:2; columns:2;
}
}
@media (min-width: 992px) {
.nav-footer {
-ms-columns:auto; -moz-columns:auto; -webkit-columns:auto; columns:auto;
}
.nav-footer li {
display: inline-block;
}
}