简单的html表格自适应解决方案
转载的部分
下文转载自前端开发博客:
你需要做的就是用一个div来包含这个表格。
<div class="table-container"> <table> ... <table> </div>
然后添加下面的CSS代码
//code from http://caibaojian.com/simple-responsive-table.html .table-container { width: 100%; overflow-y: auto; _overflow: auto; margin: 0 0 1em; }
为ios添加滚动条
如果你在iOS下面(如iphone)看这个案例的话,你会看不到滚动条,虽然用户可以滑动表格滚动,但是这是不明显的。我们只需要添加一些额外的CSS就能解决这个问题。
.table-container::-webkit-scrollbar { -webkit-appearance: none; width: 14px; height: 14px; } .table-container::-webkit-scrollbar-thumb { border-radius: 8px; border: 3px solid #fff; background-color: rgba(0, 0, 0, .3); }
添加滚动条
下面这些jquery插件可以帮到你
也许你已经注意到了表格的边缘被切割了,给它添加一个模糊的渐变层,为了适应所有的设备,我们还需要添加一些标记。 <div class="table-container-outer"> <div class="table-container-fade"></div> <div class="table-container"> <table> ... <table> </div> </div>
下面是CSS
.table-container-outer { position: relative; } .table-container-fade { position: absolute; right: 0; width: 30px; height: 100%; background-image: -webkit-linear-gradient(0deg, rgba(255,255,255,.5), #fff); background-image: -moz-linear-gradient(0deg, rgba(255,255,255,.5), #fff); background-image: -ms-linear-gradient(0deg, rgba(255,255,255,.5), #fff); background-image: -o-linear-gradient(0deg, rgba(255,255,255,.5), #fff); background-image: linear-gradient(0deg, rgba(255,255,255,.5), #fff); }
这就是你所看到的简单的自适应表格了。
实际使用的部分
<styletype="text/css"> body { margin:0; padding:20px; color:#000; background:#fff; font:100%/1.3helvetica,arial,sans-serif; } h1{margin:0;} .container{width:100%;} table { margin:0; border-collapse:collapse; } td,th { padding:.5em1em; border:1pxsolid#999; } .table-container-outer{position:relative;} .table-container { width:100%; overflow-y:auto; _overflow:auto; margin:001em; } .table-container::-webkit-scrollbar { -webkit-appearance:none; width:14px; height:14px; } .table-container::-webkit-scrollbar-thumb { border-radius:8px; border:3pxsolid#fff; background-color:rgba(0,0,0,.3); } .table-container-fade { position:absolute; right:0; width:30px; height:100%; background-image:-webkit-linear-gradient(0deg,rgba(255,255,255,.5),#fff); background-image:-moz-linear-gradient(0deg,rgba(255,255,255,.5),#fff); background-image:-ms-linear-gradient(0deg,rgba(255,255,255,.5),#fff); background-image:-o-linear-gradient(0deg,rgba(255,255,255,.5),#fff); background-image:linear-gradient(0deg,rgba(255,255,255,.5),#fff); } </style> <divclass="table-container-outer"> <divclass="table-container-fade"></div> <divclass="table-container"> 111 </div> </div> </div>
效果截图
使用上述代码可是实现下图效果。
总结
原有代码是适适合自己写模板用的,或者写单独的html文件用的。
我删减了部分,直接发到超文本编辑框html粘贴进去就可以了。