我有一个表来表示我的html页面中的一些数据。我正在尝试使这个表格具有响应性。我怎样才能做到这一点?
这是Demo
。
响应表只是一个100%宽度的表。
您可以使用此CSS设置表:
.table { width: 100%; }
您可以使用媒体查询根据屏幕尺寸显示/隐藏/操纵列,方法是添加类(或使用nth-child
等进行定位):
@media screen and (max-width: 320px) {
.hide { display: none; }
}
HTML
<td class="hide">Not important</td>
如果您有一个包含大量数据的表,并且您希望在小屏幕设备上使其可读,那么还有许多其他解决方案:
如果你想控制td / th,就像你可以用块级元素和浮点数那样:它是不可能的。没有办法使td漂浮在th之上或之下。
我推荐Wordpress插件Magic Liquidizer Responsive Table。
对于制作响应表,您可以在每个'td'中制作100%,并在移动设备的'td'中插入相关的标题(减去'768px'的宽度)。
纯粹的css方式使表格完全响应,不需要JavaScript。 Checke演示这里Responsive Tables
<!DOCTYPE>
<html>
<head>
<title>Responsive Table</title>
<style>
/* only for demo purpose. you can remove it */
.container{border: 1px solid #ccc; background-color: #ff0000;
margin: 10px auto;width: 98%; height:auto;padding:5px; text-align: center;}
/* required */
.tablewrapper{width: 95%; overflow-y: hidden; overflow-x: auto;
background-color:green; height: auto; padding: 5px;}
/* only for demo purpose just for stlying. you can remove it */
table { font-family: arial; font-size: 13px; padding: 2px 3px}
table.responsive{ background-color:#1a99e6; border-collapse: collapse;
border-color: #fff}
tr:nth-child(1) td:nth-of-type(1){
background:#333; color: #fff}
tr:nth-child(1) td{
background:#333; color: #fff; font-weight: bold;}
table tr td:nth-child(2) {
background:yellow;
}
tr:nth-child(1) td:nth-of-type(2){color: #333}
tr:nth-child(odd){ background:#ccc;}
tr:nth-child(even){background:#fff;}
</style>
</head>
<body>
<div class="container">
<div class="tablewrapper">
<table class="responsive" width="98%" cellpadding="4" cellspacing="1" border="1">
<tr>
<td>Name</td>
<td>Email</td>
<td>Phone</td>
<td>Address</td>
<td>Contact</td>
<td>Mobile</td>
<td>Office</td>
<td>Home</td>
<td>Residency</td>
<td>Height</td>
<td>Weight</td>
<td>Color</td>
<td>Desease</td>
<td>Extra</td>
<td>DOB</td>
<td>Nick Name</td>
</tr>
<tr>
<td>RN Kushwaha</td>
<td>[email protected]</td>
<td>--</td>
<td>Varanasi</td>
<td>-</td>
<td>999999999</td>
<td>022-111111</td>
<td>-</td>
<td>India</td>
<td>165cm</td>
<td>58kg</td>
<td>bright</td>
<td>--</td>
<td>--</td>
<td>03/07/1986</td>
<td>Aryan</td>
</tr>
</table>
</div>
</div>
</body>
</html>
要制作响应表,您可以将每个td
的宽度设置为100%,并在移动浏览器上插入td
中的相关标题(宽度较小的768px
。)
这是一个展示这种技术的网站:http://www.quizexpo.com/list-of-banks-in-india/