为了账号安全,请及时绑定邮箱和手机立即绑定

移动端web开发:局部区域滚动

标签:
前端工具

要实现多个div水平排列,并且自动出现横向滚动条。本来以为只需父级ul元素的overflow-x:auto;overflow-y:hidden,子级li浮动显示,即可以实现。结果测试发现结果并非想象的那样,浮动的子级li在溢出父级ul后,它会自动向下排列,不会保持水平排列了。(可能是li元素中包含了很多div的缘故吧)

从网上找解决方案,比如display;inline;white-space:nowrap;等等这些都试过,发现这些方法在我的页面上得不到理想效果。后来想到不让子级li元素浮动显示,利用display:inline-table来实现水平排列。如下:

/*ul元素样式*/

.lists{
  overflow-y:hidden;
  overflow-x:auto;
  white-space: nowrap;
}

/*li元素样式*/
.cardlist{
  display: inline-table;
  vertical-align: top;
  width:250px;
}

下面给出display的值及解释:

block: 块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行
none: 隐藏对象。与   visibility   属性的hidden值不同,其不为被隐藏的对象保留其物理空间
inline: 内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行
inline-block: 将对象呈递为内联对象,但是对象的内容作为块对象,旁边的内联对象会被呈递在同一行内
compact: 分配对象为块对象或基于内容之上的内联对象
marker: 指定内容在容器对象之前或之后。要使用此参数,对象必须和:after及:before伪元素一起使用
inline-table: 将表格显示为无前后换行的内联对象或内联容器
list-item :将块对象指定为列表项目。并可以添加可选项目标志
table-caption: 将对象作为表格标题显示
table-cell: 将对象作为表格单元格显示
table-column: 将对象作为表格列显示
table-column-group: 将对象作为表格列组显示
table-header-group: 将对象作为表格标题组显示
table-footer-group: 将对象作为表格脚注组显示

还有一种方案高度挤出方案。解决滚动条显示:

  1. /* 分类list */  

  2. .sort-container{  

  3.     overflow: hidden;  

  4.     /*设置高,以便养藏下方多出来的滚动条*/  

  5.     height: 30px;  

  6.     line-height: 30px;  

  7.     margin-bottom: 5px;  

  8. }  

  9. .sortList{  

  10.     /*display: flex;*/  

  11.     overflow-y:hidden;  

  12.     overflow-x:auto;  

  13.     white-space: nowrap;  

  14.     /*解决ios上滑动不流畅*/  

  15.         /*-webkit-overflow-scrolling: touch;*/  

  16.     /*利用padding将滚动条挤出:纵向超出部分将会隐藏,即滚动条部分被挤出可视区域*/  

  17.     padding-bottom: 20px;  

  18. }  

  19.     /*掩藏滚动条*/  

  20. ::-webkit-scrollbar {  

  21.     display: none!important;  

  22. }  

原文出处


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消