html横向table,仿segmentfault-table横向滚动

问题描述

自己的博客在用移动端访问时,如果table的列数足够多会显示不全,如下图红圈所示

bVbgjlz?w=800&h=938

正常情况如图

bVbgjlM?w=2066&h=244

解决过程

使用chrome发现segmentfault的解决方法是在table上套一个table-wrap,如下图蓝色背景和红圈所示

bVbgjlV?w=2766&h=1476

首先想到直接在table上套一个table-wrap即可

接着查看别的table时发现并不是每一个table都被套上一个table-wrap,如下图所示,也就是说只有显示不全的table才会套上table-wrap

bVbgjlZ?w=2738&h=1412

table什么情况是显示不全?

那就是table的宽度 > 文章的宽度

通过以上分析可以得出简单的步骤:

获取文章的宽度(articleWidth)

获取所有的table

找出比articleWidth宽的table

使其被.table-wrap包囊

let articleWidth = document.getElementById('文章').clientWidth;

let tables = $('table');

tables.each((index, table) => {

if (table.clientWidth > articleWidth) {

table.outerHTML = "

" + table.outerHTML + "
";

}

});

别忘了补上css

.table-wrap{

overflow-x: scroll;

}

其实不用判断table的宽度 > 文章的宽度也能实现,让每一个table都套上.table-wrap,使用如下css

.table-wrap{

overflow-x: auto;

}

这样的话只是会在html上多一点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值