简体   繁体   English

如何使表格可滚动

[英]How do I make a table scrollable

Does anyone know a vanilla way of making the body of a table scrollable using only html and css?有谁知道一种仅使用 html 和 css 使表格主体可滚动的香草方法?

The obvious solution显而易见的解决方案

tbody {
    height: 200px;
    overflow-y: scroll;
}

does not work.不起作用。

Wouldnt this be the obvious use of tables?这不是表格的明显用途吗?

am I doing something wrong?难道我做错了什么?

You need to declare a height first, else your table will expand to the according with of it's content.您需要先声明高度,否则您的表格将根据其内容展开。

table{
   overflow-y:scroll;
   height:100px;
   display:block;
}

EDIT: after clarifying your problem i edited the fiddle: check out this Example or that way .编辑:澄清您的问题后,我编辑了小提琴:查看此示例那样 It's rather hacky and not quaranteed to work crossbrowser but might work for your case.它相当笨拙,不能保证跨浏览器工作,但可能适用于您的情况。

You can't do that with a table.你不能用一张桌子做到这一点。 Wrap the table with a div a give it something like:用 div 包裹桌子,给它一些类似的东西:

div.wrapper {
    overflow:hidden;
    overflow-y: scroll;
    height: 100px; // change this to desired height
}

You can wrap the table with a parent div and make him scrollable as scoota269 advised:您可以使用父div包裹表格,并按照scoota269 的建议使其可滚动:

.div_before_table {
    overflow:hidden;
    overflow-y: scroll;
    height: 500px;
}

And to keep the table header sticky you can add a fixed class:为了保持表头的粘性,您可以添加一个fixed类:

.th.fixed {
    top: 0;
    z-index: 2;
    position: sticky;
    background-color: white;
 }

 table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { text-align: left; padding: 8px; } tr:nth-child(even) { background-color: #ddd; } /* The scrollable part */ .scrollable { height: 150px; overflow-y: scroll; border-bottom: 1px solid #ddd; } th { position: sticky; background-color: white; z-index: 2; top: 0; }
 <div class="scrollable"> <table> <tr> <th>Company</th> <th>Contact</th> <th>Country</th> </tr> <tr> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Germany</td> </tr> <tr> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Ernst Handel</td> <td>Roland Mendel</td> <td>Austria</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Laughing Bacchus Winecellars</td> <td>Yoshi Tannamuri</td> <td>Canada</td> </tr> <tr> <td>Magazzini Alimentari Riuniti</td> <td>Giovanni Rovelli</td> <td>Italy</td> </tr> </table> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM