问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

只用CSS如何实现横向滚动条?

发布网友 发布时间:2022-04-26 22:12

我来回答

6个回答

懂视网 时间:2022-04-06 15:15

本章给大家介绍用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个像素。

热心网友 时间:2022-04-06 12:23

css是无法实现的,您要横向滚动只有通过js监听页面的拖动事件才行。给你个插件可以研究研究,这插件能让你体验到win8切换的效果。 

如果你非要用滚轮来响应横向滚动 你还是得用js监听滚轮,给滚轮绑定一个事件,没次滚动都使div 内容向某个方向animate移动一个固定距离


追问我看说expression好像可以在css中使用js语句,但是不知道该如何使用..能求教下么?

追答expression表达式非常耗系统开销(其实就是css里内嵌的js),强烈不建议使用与之相关的一切,因为你就算在页面啥也不做鼠标轻轻移动一下expression也会运行成千上万次。
还是用js去实现吧

热心网友 时间:2022-04-06 13:41

设置这个属性就可以了overflow-y: auto;
overflow: auto;是代表自动显示下拉条
overflow-y: auto;代表y轴上的,
overflow-x: auto;代表x轴上的

热心网友 时间:2022-04-06 15:16

css就是一个样式,不是动作。所以要实现滚动必须要js结合

热心网友 时间:2022-04-06 17:07

仅仅用css恐怕不行吧,需要用到js追问所以我也很头疼...

热心网友 时间:2022-04-06 19:15

CSS 3.0中的animation,transform
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抗击疫情祝福语简短 疫情早日结束愿大家平安(精选76句) 新肺炎防范祝福语 2024年为武汉加油的朋友圈祝福语暖心句子 qq对对碰为什么在QQ游戏客户端页面没有QQ对对碰游戏 关于山地车骑行装备 烧心反酸吃什么药缓解 反胃酸烧心吃什么药 我第第因为喜欢一位女孩不和他谈拉受刺激神经错乱厌世厌学 怎么办 精神错乱你了解了吗 溯洄从之道阻且长什么意思 如何实现textview同时具有水平滚动条和垂直滚动条 如何用iscroll制作水平滚动的list布局 DIV 滚动条 如何只 显示横向 不显示纵向? 小程序丨scroll-view ios苹果手机垂直滚动条怎么隐藏 怎样隐藏横向滚动条 在winform中,如何为DatagridView设置横向滚动条 如何控制ScrollView的滚动条,让滚动条停在指定位置 左右两块区域,右区域子元素scroll-x滚动,整个页面不滚动,有大佬吗? html 自动显示横向滚动条 android文字横向滚动的自定义view 小程序scroll-view滑动抖动和闪无是什么病 uiscrollview怎么横向滚动在xib设置 《商务礼仪》相关考试题 《商务社交礼仪》 复习 练习题 05 急求现代商务礼仪之活动礼仪或者宴请礼仪试题???亲好新朋友帮帮忙哈... 商务礼仪试题 商务礼仪多选题的答案? 商务礼仪考题 北京石油大学商务礼仪在线答案 商务礼仪的简答题 注册12306用户名邮箱错误怎么办 为什么12306登录用户名的时候就出现错误 头发痒痒怎么办 4个小妙招解决头发痒的困扰 春天头皮发干发痒是怎么回事 宝齐莱柏拉维系列全钢带动能显示,编号是106.16.08.11.0164,机芯是2897的请问是不是正宗的,在什么价位, 网银汇款,需要填写收款银行的开户网点名称,如果这个网点撤销了,怎么填呢? 宝齐莱柏拉维系列00.10621.07.77.21腕表价位多少啊? 头发发痒,因为干燥的冬天,怎么办?我要抓狂了 网上银行转账那个名册里有个必填的开户行,但是我开户的地方现在拆掉了,我该怎么填? 男朋友上周去香港回来送我一款手表,是宝齐莱的,我不好意思问他价格,这个牌子的 银行搬家了如何填写开户行名称? 怎么样解决头发干枯,头皮屑多,头皮痒等困扰? 宝齐莱柏拉维系列是什么意思 银行信息填写后提示找不到对应的银行怎么办? 头皮干痒掉头发怎么办 苏州哪里回收宝齐莱柏拉维手表? 干性头发,头皮很痒是怎么回事,有什么方法 有谁知道 我的前半身 贺函带的是什么手表 我的头发干燥而且很容易发痒,怎么办! 朋友想买块男士机械表,预算价位在3万左右。哪位给推荐几款合适的