首页 > 软件开发 > HTML >

html/css当列数太多时,如何让table出现滚动条

来源:互联网 2023-03-16 19:10:20 285

很多时候我们的表格的列数会很多,然后由于没有横向滚动条,然后浏览器窗体宽度又只有这么大,从而导致每个单元格的数据只能向下挤压。或者,超出宽度的列数据直接消失,又或者整个窗体出现了滚动条,界面显得非常难看。。。rsP办公区 - 实用经验教程分享!

rsP办公区 - 实用经验教程分享!

所以我们必须想一个办法让table在数据列太多时显示横向滚动条!rsP办公区 - 实用经验教程分享!

工具/原料

  • 一台电脑/一个浏览器

方法/步骤

  • 1

    先来看下一个初始的table代码:rsP办公区 - 实用经验教程分享!

    html>rsP办公区 - 实用经验教程分享!

    head>rsP办公区 - 实用经验教程分享!

    meta charset="utf-8">rsP办公区 - 实用经验教程分享!

    style>rsP办公区 - 实用经验教程分享!

    /style>rsP办公区 - 实用经验教程分享!

    /head>rsP办公区 - 实用经验教程分享!

    body>rsP办公区 - 实用经验教程分享!

    table border="1">rsP办公区 - 实用经验教程分享!

    tbody>rsP办公区 - 实用经验教程分享!

    tr>rsP办公区 - 实用经验教程分享!

    td>111111111111111111111/td>rsP办公区 - 实用经验教程分享!

    td>222222222222222222222/td>rsP办公区 - 实用经验教程分享!

    td>333333333333333333333/td>rsP办公区 - 实用经验教程分享!

    td>444444444444444444444/td>rsP办公区 - 实用经验教程分享!

    td>555555555555555555555/td>rsP办公区 - 实用经验教程分享!

    td>666666666666666666666/td>rsP办公区 - 实用经验教程分享!

    td>7777777777777777777777/td>rsP办公区 - 实用经验教程分享!

    td>111111111111111111111/td>rsP办公区 - 实用经验教程分享!

    td>222222222222222222222/td>rsP办公区 - 实用经验教程分享!

    td>333333333333333333333/td>rsP办公区 - 实用经验教程分享!

    td>444444444444444444444/td>rsP办公区 - 实用经验教程分享!

    td>555555555555555555555/td>rsP办公区 - 实用经验教程分享!

    td>666666666666666666666/td>rsP办公区 - 实用经验教程分享!

    td>7777777777777777777777/td>rsP办公区 - 实用经验教程分享!

    td>8888888888888888888888/td>rsP办公区 - 实用经验教程分享!

    td>9999999999999999999999/td>rsP办公区 - 实用经验教程分享!

    td>1111111111111111111111/td>rsP办公区 - 实用经验教程分享!

    /tr>rsP办公区 - 实用经验教程分享!

    /tbody>rsP办公区 - 实用经验教程分享!

    /table>rsP办公区 - 实用经验教程分享!

    /body>rsP办公区 - 实用经验教程分享!

    /html>rsP办公区 - 实用经验教程分享!

    运行示意图如下所示,就显示了一个只含有一行但是含有很多列的table,这时由于rsP办公区 - 实用经验教程分享!

    rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 2

    那么这个时候我们又该如何修改代码让这个table显示出滚动条呢?(至少看起来是)rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 3

    其实并不复杂,首先我们在这个table的外面加一个div把table包含起来,如下图所示rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 4

    然后我们在给这个div设置样式【overflow:scroll;】rsP办公区 - 实用经验教程分享!

    注意:rsP办公区 - 实用经验教程分享!

    这个属性表示让div出现滚动条.如果只想出现水平滚动条或者只想出现垂直滚动条的话,请用overflow-x(水平)与overflow-y(垂直).rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 4相关内容未经授权抓取自百度经验
  • 5

    运行结果如下,这个table出出现了滚动条,并且窗体的导航条没有在出现。rsP办公区 - 实用经验教程分享!

    rsP办公区 - 实用经验教程分享!

    注意:rsP办公区 - 实用经验教程分享!

    1. 如果你在你的项目中这样操作了后却没出现滚动条,但是偏偏又能滚动!rsP办公区 - 实用经验教程分享!

    2. 那估计是你的div没有具体的宽度与高度,从而被里面的table给撑开了,这样来给table有多宽有多高,你的div就有多宽多高,自然就不会出现滚动条,rsP办公区 - 实用经验教程分享!

    3. 所以你的div设置下具体的宽高即可解决这个问题rsP办公区 - 实用经验教程分享!

    rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 6

    总结下原理:rsP办公区 - 实用经验教程分享!

    就像我们最开始构建了一个很多列的table,然后浏览器窗体(body)出现了滚动条一样,这是因为table的父元素就是body.rsP办公区 - 实用经验教程分享!

    而现在我们把这个body父元素换为了我们自己定义的div而已,这就是我的实现原理。rsP办公区 - 实用经验教程分享!

  • 扩展

  • 1

    当出现了滚动条后实际上我们还可以通过控制这个div的样式来控制这个界面的展现。rsP办公区 - 实用经验教程分享!

    我举个例子,比如我设置了这个div的宽度为500px,如下图所示,这样看起来是不是好多了,当然除此之外我们还可以设置各种的样式,这个就看大家自己的需求了rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

    html/css当列数太多时,如何让table出现滚动条?rsP办公区 - 实用经验教程分享!

  • 注意事项

    • 在table本身上设置overflow:scroll;样式是无效的,
    • 如果您觉得我的经验稍微有点作用的话,请给我投下票,当然如果有疑惑欢迎给我留言,我会持续答复的o(^▽^)o

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!rsP办公区 - 实用经验教程分享!


    标签: CSSHTML

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码