这篇文章给大家分享的是有关css实现横向滚动条的案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
html代码:
<div class="nav_wrap">
<ul class="nav_mine">
<li class="nav_item">全部</li>
<li class="nav_item">Adobe</li>
<li class="nav_item">微软</li>
<li class="nav_item">会计</li>
<li class="nav_item">绘画</li>
<li class="nav_item">Adobe</li>
<li class="nav_item">微软</li>
<li class="nav_item">会计</li>
<li class="nav_item">绘画</li>
</ul>
</div>
<script src="node_modules/jQuery/tmp/jquery.js"></script>
一、 原始css + jquery 实现横向滚动条(原生js可以实现,为了方便才用的jQuery)
css代码:
* {
box-sizing: border-box;
margin: 0;
padding: 0
}
.nav_wrap{
overflow-x: scroll;
}
.nav_mine {
padding: 15px 10px;
border-bottom: 1px solid #aca9a7;
height: 75px;
overflow-x: scroll;
overflow-y: hidden;
}
.nav_mine .nav_item {
border: 1px solid #1a110b;
border-radius: 40px;
color: #aca9a7;
margin-right: 10px;
font-size: 24px;
padding: 4px 18px;
float: left;
list-style: none;
}
js代码:
$(function(){
var width = 0;
for (let i = 0; i < $('.nav_item').length; i++) {
width += $('.nav_item').eq(i).outerWidth(true);
}
$('.nav_mine').width(width+20); //width只是内容的宽度,需要加上padding的宽度
})
PS:为什么用js,是因为不知道tabs有多少个,不能把宽度写死,只能动态获取tabs的宽度,然后相加,获取总宽度,方便多次使用。outerWidth加上参数true,代表包含了padding+margin+border的宽度。
二 css3 -- flex
css代码:
* {
box-sizing: border-box;
}
.nav_mine {
padding: 15px 20px;
border-bottom: 1px solid #aca9a7;
height: 75px;
display: flex;
align-items: center;
overflow-y: hidden;
flex-wrap: nowrap;
}
.nav_mine .nav_item {
border: 1px solid #aca9a7;
border-radius: 40px;
color: #aca9a7;
margin-right: 22px;
font-size: 24px;
padding: 4px 18px;
list-style: none;
white-space: nowrap;
}
对于white-space,item在没有用white-space:nowrap时,发现一个问题,在未设定宽度的情况下,一个单词不会换行,而汉字会换行,认为是和display:flex有关系,上网查阅,才知道:white-space是看空格来识别是否换行的,单词是作为一个字符,所以要针对于汉字和英文,都要设置white-space:nowrap不换行。因为汉字和英文的不同,导致所占的宽度不一致,所以要留1到2个像素。
感谢各位的阅读!关于css实现横向滚动条的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。