我使用bootstrap在div im中制作了一个自定义导航栏。我希望溢出-x在移动设备上滚动。问题是我想在移动设备上保留导航栏的最大宽度并滚动它。
我不希望 li 标签一个比另一个低
。例如:错误的方式
按钮 1
按钮 2
按钮 3
按钮 4 依此类推
正确的方式
按钮 1 |按钮 2 |按钮 3 |按钮 4 |等等,让它在移动设备上滚动
.HTML
<div class="col-md-10">
<ul class="my-nav">
<li><a class="btn-nav tab-active" href="">Button 1</a></li>
<li><a class="btn-nav" href="">Button 2</a></li>
<li><a class="btn-nav" href="">Button 3</a></li>
<li><a class="btn-nav" href="">Button 4</a></li>
<li><a class="btn-nav" href="">Button 5</a></li>
</ul>
</div>
.CSS
.my-nav {
margin: 0;
padding: 0;
list-style: none;
}
.my-nav li {
float: left;
}
.my-nav li a, .my-nav li a:link, .my-nav li a:visited {
color: #000;
font-size: 15px;
}
.my-nav li a:hover {
border-bottom: 4px solid #CCC;
}
a.btn-nav.tab-active, a.btn-nav.tab-active:visited, a.btn-nav.tab-active:hover {
color: #27a020;
border-bottom: 4px solid #27a020;
}
.btn-nav {
display: block;
text-align: center;
padding:15px 25px;
}
JSFiddle
编辑
为此,您可以为移动宽度添加媒体查询,并为导航栏的父级添加一个overflow-x: scroll;
属性:
@media (max-width: 640px){
.parent {
overflow-y:hidden;
overflow-x:scroll;
}
.my-nav {
height: 70px;
width: 600px;
}
}
我自愿应用了一个固定的宽度来使水平滚动工作,但如果你愿意,你可以用javascript脚本来计算它。
获取有关设备宽度的信息:http://www.mydevice.io/devices/
现场示例