如何制作响应表

时间:2013-08-26 04:53:48

标签: html css html5 responsive-design media-queries

我有一张表来表示我的html页面中的一些数据。我正在尝试使这个表格具有响应性。我怎么能这样做?

这是Demo

8 个答案:

答案 0 :(得分:46)

基本上

响应表只是一个100%宽度的表。

您可以使用此CSS设置表格:

.table { width: 100%; }

Demo here

您可以使用媒体查询根据屏幕尺寸显示/隐藏/操纵列,方法是添加课程(或使用nth-child进行定位等):

@media screen and (max-width: 320px) {
    .hide { display: none; }
}

<强> HTML

<td class="hide">Not important</td>

更高级的解决方案

如果您有一张包含大量数据的表格,并且您希望在小屏幕设备上使其可读,那么还有许多其他解决方案:

答案 1 :(得分:17)

答案 2 :(得分:4)

您可以查看此Demobootstrap

答案 3 :(得分:1)

我推荐使用Wordpress插件Magic Liquidizer Responsive Table

答案 4 :(得分:1)

如果你想控制td&#39; s,你就可以使用块级元素&amp ;;花车: 这是不可能的。 没有办法使td漂浮在th。或

之上

答案 5 :(得分:0)

对于制作响应表,您可以在每个'td'中制作100%,并在移动设备的'td'中插入相关的标题(减去'768px'宽度)。

查看更多:
http://wonderdesigners.com/?p=227

答案 6 :(得分:-1)

纯粹的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>rn.kushwaha@test.com</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>

答案 7 :(得分:-2)

要创建自适应表格,您可以将每个td的宽度设为100%,并在移动浏览器td上插入相关标题(宽度小于768px。)

以下是展示此技术的网站:http://www.quizexpo.com/list-of-banks-in-india/