[转]Responsive Tables Demo
本文转自:http://elvery.net/demo/responsive-tables/
A quick and dirty look at some techniques for designing responsive table layouts. This was put together in haste (and with the aid of Twitter Bootstrap) for What Do You Know Brisbane hosted by Web Directions.
I work for a really great little web design agency in Brisbane, and you should say hello.
The Unseen Column
This technique, first described by Stuart Curry (@irishstu) involves simply hiding less important columns on smaller screen sizes.
Example
| Code | Company | Price | Change | Change % | Open | High | Low | Volume |
|---|---|---|---|---|---|---|---|---|
| AAC | AUSTRALIAN AGRICULTURAL COMPANY LIMITED. | $1.38 | -0.01 | -0.36% | $1.39 | $1.39 | $1.38 | 9,395 |
| AAD | ARDENT LEISURE GROUP | $1.15 | +0.02 | 1.32% | $1.14 | $1.15 | $1.13 | 56,431 |
| AAX | AUSENCO LIMITED | $4.00 | -0.04 | -0.99% | $4.01 | $4.05 | $4.00 | 90,641 |
| ABC | ADELAIDE BRIGHTON LIMITED | $3.00 | +0.06 | 2.04% | $2.98 | $3.00 | $2.96 | 862,518 |
| ABP | ABACUS PROPERTY GROUP | $1.91 | 0.00 | 0.00% | $1.92 | $1.93 | $1.90 | 595,701 |
| ABY | ADITYA BIRLA MINERALS LIMITED | $0.77 | +0.02 | 2.00% | $0.76 | $0.77 | $0.76 | 54,567 |
| ACR | ACRUX LIMITED | $3.71 | +0.01 | 0.14% | $3.70 | $3.72 | $3.68 | 191,373 |
| ADU | ADAMUS RESOURCES LIMITED | $0.72 | 0.00 | 0.00% | $0.73 | $0.74 | $0.72 | 8,602,291 |
| AGG | ANGLOGOLD ASHANTI LIMITED | $7.81 | -0.22 | -2.74% | $7.82 | $7.82 | $7.81 | 148 |
| AGK | AGL ENERGY LIMITED | $13.82 | +0.02 | 0.14% | $13.83 | $13.83 | $13.67 | 846,403 |
| AGO | ATLAS IRON LIMITED | $3.17 | -0.02 | -0.47% | $3.11 | $3.22 | $3.10 | 5,416,303 |
Code
The approach I've presented here assumes you know the index of the columns to be hidden. This probably isn't always appropriate, and isn't all that semantic. Another option is to give the <th> and <td> classes based on importance level and code your CSS accordingly.
- <table>
- <thead>
- <tr>
- <th>Code</th>
- <th>Company</th>
- <th class="numeric">Price</th>
- <th class="numeric">Change</th>
- <th class="numeric">Change %</th>
- <th class="numeric">Open</th>
- <th class="numeric">High</th>
- <th class="numeric">Low</th>
- <th class="numeric">Volume</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>AAC</td>
- <td>AUSTRALIAN AGRICULTURAL COMPANY LIMITED.</td>
- <td class="numeric">$1.38</td>
- <td class="numeric">-0.01</td>
- <td class="numeric">-0.36%</td>
- <td class="numeric">$1.39</td>
- <td class="numeric">$1.39</td>
- <td class="numeric">$1.38</td>
- <td class="numeric">9,395</td>
- </tr>
- </tbody>
- </table>
- @media only screen and (max-width: 800px) {
- #unseen table td:nth-child(2),
- #unseen table th:nth-child(2) {display: none;}
- }
- @media only screen and (max-width: 640px) {
- #unseen table td:nth-child(4),
- #unseen table th:nth-child(4),
- #unseen table td:nth-child(7),
- #unseen table th:nth-child(7),
- #unseen table td:nth-child(8),
- #unseen table th:nth-child(8){display: none;}
- }
Flip Scroll
This technique was first published by David Bushell (@dbushell). For the full low down on this technique visit his post on the technique, Responsive Tables (2). While you're there, it's also worth checking out his responsive calendar proof of concept.
Example
| Code | Company | Price | Change | Change % | Open | High | Low | Volume |
|---|---|---|---|---|---|---|---|---|
| AAC | AUSTRALIAN AGRICULTURAL COMPANY LIMITED. | $1.38 | -0.01 | -0.36% | $1.39 | $1.39 | $1.38 | 9,395 |
| AAD | ARDENT LEISURE GROUP | $1.15 | +0.02 | 1.32% | $1.14 | $1.15 | $1.13 | 56,431 |
| AAX | AUSENCO LIMITED | $4.00 | -0.04 | -0.99% | $4.01 | $4.05 | $4.00 | 90,641 |
| ABC | ADELAIDE BRIGHTON LIMITED | $3.00 | +0.06 | 2.04% | $2.98 | $3.00 | $2.96 | 862,518 |
| ABP | ABACUS PROPERTY GROUP | $1.91 | 0.00 | 0.00% | $1.92 | $1.93 | $1.90 | 595,701 |
| ABY | ADITYA BIRLA MINERALS LIMITED | $0.77 | +0.02 | 2.00% | $0.76 | $0.77 | $0.76 | 54,567 |
| ACR | ACRUX LIMITED | $3.71 | +0.01 | 0.14% | $3.70 | $3.72 | $3.68 | 191,373 |
| ADU | ADAMUS RESOURCES LIMITED | $0.72 | 0.00 | 0.00% | $0.73 | $0.74 | $0.72 | 8,602,291 |
| AGG | ANGLOGOLD ASHANTI LIMITED | $7.81 | -0.22 | -2.74% | $7.82 | $7.82 | $7.81 | 148 |
| AGK | AGL ENERGY LIMITED | $13.82 | +0.02 | 0.14% | $13.83 | $13.83 | $13.67 | 846,403 |
| AGO | ATLAS IRON LIMITED | $3.17 | -0.02 | -0.47% | $3.11 | $3.22 | $3.10 | 5,416,303 |
Code
The biggest trick to getting this working is to use display: inline-block; on the table rows and white-space: nowrap; on the table body. You'll also need to make use of your favourite float clearing method.
- <table>
- <thead>
- <tr>
- <th>Code</th>
- <th>Company</th>
- <th class="numeric">Price</th>
- <th class="numeric">Change</th>
- <th class="numeric">Change %</th>
- <th class="numeric">Open</th>
- <th class="numeric">High</th>
- <th class="numeric">Low</th>
- <th class="numeric">Volume</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>AAC</td>
- <td>AUSTRALIAN AGRICULTURAL COMPANY LIMITED.</td>
- <td class="numeric">$1.38</td>
- <td class="numeric">-0.01</td>
- <td class="numeric">-0.36%</td>
- <td class="numeric">$1.39</td>
- <td class="numeric">$1.39</td>
- <td class="numeric">$1.38</td>
- <td class="numeric">9,395</td>
- </tr>
- </tbody>
- </table>
- @media only screen and (max-width: 800px) {
- #flip-scroll .cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
- #flip-scroll * html .cf { zoom: 1; }
- #flip-scroll *:first-child+html .cf { zoom: 1; }
- #flip-scroll table { width: 100%; border-collapse: collapse; border-spacing: 0; }
- #flip-scroll th,
- #flip-scroll td { margin: 0; vertical-align: top; }
- #flip-scroll th { text-align: left; }
- #flip-scroll table { display: block; position: relative; width: 100%; }
- #flip-scroll thead { display: block; float: left; }
- #flip-scroll tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }
- #flip-scroll thead tr { display: block; }
- #flip-scroll th { display: block; text-align: right; }
- #flip-scroll tbody tr { display: inline-block; vertical-align: top; }
- #flip-scroll td { display: block; min-height: 1.25em; text-align: left; }
- /* sort out borders */
- #flip-scroll th { border-bottom: 0; border-left: 0; }
- #flip-scroll td { border-left: 0; border-right: 0; border-bottom: 0; }
- #flip-scroll tbody tr { border-left: 1px solid #babcbf; }
- #flip-scroll th:last-child,
- #flip-scroll td:last-child { border-bottom: 1px solid #babcbf; }
- }
No More Tables
This technique was developed by Chris Coyier (@chriscoyier) and described in his post Responsive Data Tables at css-tricks.com. While you're there, you should probably check out the Responsive Tables Roundup post, which showcases all these techniques and more.
Example
| Code | Company | Price | Change | Change % | Open | High | Low | Volume |
|---|---|---|---|---|---|---|---|---|
| AAC | AUSTRALIAN AGRICULTURAL COMPANY LIMITED. | $1.38 | -0.01 | -0.36% | $1.39 | $1.39 | $1.38 | 9,395 |
| AAD | ARDENT LEISURE GROUP | $1.15 | +0.02 | 1.32% | $1.14 | $1.15 | $1.13 | 56,431 |
| AAX | AUSENCO LIMITED | $4.00 | -0.04 | -0.99% | $4.01 | $4.05 | $4.00 | 90,641 |
| ABC | ADELAIDE BRIGHTON LIMITED | $3.00 | +0.06 | 2.04% | $2.98 | $3.00 | $2.96 | 862,518 |
| ABP | ABACUS PROPERTY GROUP | $1.91 | 0.00 | 0.00% | $1.92 | $1.93 | $1.90 | 595,701 |
| ABY | ADITYA BIRLA MINERALS LIMITED | $0.77 | +0.02 | 2.00% | $0.76 | $0.77 | $0.76 | 54,567 |
| ACR | ACRUX LIMITED | $3.71 | +0.01 | 0.14% | $3.70 | $3.72 | $3.68 | 191,373 |
| ADU | ADAMUS RESOURCES LIMITED | $0.72 | 0.00 | 0.00% | $0.73 | $0.74 | $0.72 | 8,602,291 |
| AGG | ANGLOGOLD ASHANTI LIMITED | $7.81 | -0.22 | -2.74% | $7.82 | $7.82 | $7.81 | 148 |
| AGK | AGL ENERGY LIMITED | $13.82 | +0.02 | 0.14% | $13.83 | $13.83 | $13.67 | 846,403 |
| AGO | ATLAS IRON LIMITED | $3.17 | -0.02 | -0.47% | $3.11 | $3.22 | $3.10 | 5,416,303 |
Code
This technique as presented here relies on using HTML5 data attributes and accessing them via CSS to specify the column headings. The other option is to hard code the column headings into the CSS, but as we all know content in CSS is a huge no-no.
- <table>
- <thead>
- <tr>
- <th>Code</th>
- <th>Company</th>
- <th class="numeric">Price</th>
- <th class="numeric">Change</th>
- <th class="numeric">Change %</th>
- <th class="numeric">Open</th>
- <th class="numeric">High</th>
- <th class="numeric">Low</th>
- <th class="numeric">Volume</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td data-title="Code">AAC</td>
- <td data-title="Company">AUSTRALIAN AGRICULTURAL COMPANY LIMITED.</td>
- <td data-title="Price" class="numeric">$1.38</td>
- <td data-title="Change" class="numeric">-0.01</td>
- <td data-title="Change %" class="numeric">-0.36%</td>
- <td data-title="Open" class="numeric">$1.39</td>
- <td data-title="High" class="numeric">$1.39</td>
- <td data-title="Low" class="numeric">$1.38</td>
- <td data-title="Volume" class="numeric">9,395</td>
- </tr>
- </tbody>
- </table>
- @media only screen and (max-width: 800px) {
- /* Force table to not be like tables anymore */
- #no-more-tables table,
- #no-more-tables thead,
- #no-more-tables tbody,
- #no-more-tables th,
- #no-more-tables td,
- #no-more-tables tr {
- display: block;
- }
- /* Hide table headers (but not display: none;, for accessibility) */
- #no-more-tables thead tr {
- position: absolute;
- top: -9999px;
- left: -9999px;
- }
- #no-more-tables tr { border: 1px solid #ccc; }
- #no-more-tables td {
- /* Behave like a "row" */
- border: none;
- border-bottom: 1px solid #eee;
- position: relative;
- padding-left: 50%;
- white-space: normal;
- text-align:left;
- }
- #no-more-tables td:before {
- /* Now like a table header */
- position: absolute;
- /* Top/left values mimic padding */
- top: 6px;
- left: 6px;
- width: 45%;
- padding-right: 10px;
- white-space: nowrap;
- text-align:left;
- font-weight: bold;
- }
- /*
- Label the data
- */
- #no-more-tables td:before { content: attr(data-title); }
- }
[转]Responsive Tables Demo的更多相关文章
- [转]响应式表格jQuery插件 – Responsive tables
本文转自:http://www.shejidaren.com/responsive-tables-for-bootstrap-3.html 这个Responsive tables jQuery插件依赖 ...
- responsive tables
以上内容原本是整理为ppt格式的,贴过来格式有点乱,请见谅. 其他responsive tables参考: http://gergeo.se/RWD-Table-Patterns/ 3种类型的代码参考 ...
- Frontend Development
原文链接: https://github.com/dypsilon/frontend-dev-bookmarks Frontend Development Looking for something ...
- IOS开发--UI进阶之iCarousel学习(待翻译)
前言:先展示这个会被多个项目用到的开源的轮播器的其中一个动画效果: 更多的效果请到github原网址查看:https://github.com/nicklockwood/iCarousel 源码也可以 ...
- .Net程序员学用Oracle系列(19):我知道的导出和导入
1.传统的导出/导入工具 1.1.EXP 命令详解 1.2.IMP 命令详解 1.3.EXP/IMP 使用技巧 2.新的导出/导入工具 2.1.EXPDP/IMPDP 参数说明 2.2.EXPDP/I ...
- .Net程序员学用Oracle系列(19):导出、导入(备份、还原)
1.传统的导出/导入工具 1.1.EXP 命令详解 1.2.IMP 命令详解 1.3.EXP/IMP 使用技巧 2.新的导出/导入工具 2.1.EXPDP/IMPDP 参数说明 2.2.EXPDP/I ...
- 使用Bootstrap 基于MVC输出移动化table 列表
基于Bootrap的列表组及栅格布局来实现 模型定义 public class StreetEvent { public int Id { get; set; } public string Stre ...
- 容器,表格 ,div,元素可左右拖动,滚动 css
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- amazeui学习笔记--css(HTML元素5)--表格Table
amazeui学习笔记--css(HTML元素5)--表格Table 一.总结 1.基本样式:am-table:直接模块名 <table class="am-table"& ...
随机推荐
- Qt 框架 开发HTTP 服务器 开发记录
最近需求需要开发一款 HTTP ,然后由于先前接触过Qt,就直接用Qt写HTTP服务器了,也是为了当作练手,要不然是直接上HTTP框架的. 后端用C++ Qt框架 前端为了练手 当然是纯生的 js h ...
- jdbcTemplate 泛型 查询
1. dao层方法使用泛型 public <T> List<T> findDistinctListByCondition(String str, Class<T> ...
- ahjesus ubuntu10.4安装ruby2.1.1
sudo apt-get install python-software-properties sudo apt-add-repository ppa:brightbox/ruby-ng sudo a ...
- 数据库的sacle-up和scale-out与sharding技术区分
scale 英文是扩展的意思. 数据库要进行扩展,指的是存储系统不够,或者性能不够,要提升的时候,就要进行扩展. 分为向上扩展和横向扩展,这就像一个人往上面发展与横向发展两种思路. scale-up: ...
- ASP.NET WebAPI 11 参数验证
在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性. ModelState 在ApiController中一个ModelState属性用来获取参 ...
- IIS在默认情况并不支持对PUT和DELETE请求的支持
IIS在默认情况并不支持对PUT和DELETE请求的支持: IIS拒绝PUT和DELETE请求是由默认注册的一个名为:“WebDAVModule”的自定义HttpModule导致的.WebDAV的全称 ...
- webpack常用的插件安装命令
webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loa ...
- js中创建对象的几种方式
创建对象指创建一个object并给这个对象添加属性和方法,有以下几个方式: 最基本的: var Person={}; Person.name='tom'; Person.age='20'; Perso ...
- elasticsearch分词插件的安装
IK简介 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Luen ...
- AE用线来分割线面(C#2010+AE10.0… .
希望指正. 在 ITools 类中,部分方法如下: public override void OnMouseDown(int Button, int Shift, int X, int Y) { if ...