演示代码如下,最下面有jsbin的演示地址,或者你clone下来运行也ok
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Document</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery-scrollTo/2.1.2/jquery.scrollTo.min.js"></script>
</head>
<body>
菜单滚动不换行 css代码
<style>
*{
margin: 0;
padding: 0;
}
div{
margin:40px auto 0;
height: 100%;
background: #ccc;
overflow: hidden;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
white-space: nowrap;
width: 100%;
}
@media (min-width: 768px) {
div{
width: 500px;
margin:0 auto;
}
}
a{
background: #f00;
display: inline-block;
padding:0 10px;
line-height: 50px;
height:50px;
white-space: nowrap;
}
a+a{
margin-left: 10px;
}
.cur{
color:#f0f;
background: #0c0;
}
</style>
<div>
<a href="javascript:void(0)" class="cur">菜单项1</a>
<a href="javascript:void(0)">菜单项2</a>
<a href="javascript:void(0)">菜单项3</a>
<a href="javascript:void(0)">菜单项4</a>
<a href="javascript:void(0)">菜单项5</a>
<a href="javascript:void(0)">菜单项6</a>
<a href="javascript:void(0)">菜单项7</a>
<a href="javascript:void(0)">菜单项8</a>
</div>
<script>
$('a').click(function(){
var offset_left=$(this).offset().left;
var win_width = $(window).width()
var this_width=$(this).width()
var sl=$('div').scrollLeft();
var w=sl+offset_left -(win_width-this_width)/2;
$('div').scrollTo(parseInt(w),500 )
$('a').removeClass('cur');
$(this).addClass('cur');
});
</script>
</body>
</html>
</body>
</html>