Flipping Tables: Displaying Data on Small Screens (2016-08)

Post on 11-Apr-2017

233 views 0 download

Transcript of Flipping Tables: Displaying Data on Small Screens (2016-08)

Flipping TablesDisplaying Data on Small Screens

Tables

Am I right?

(╯°□°)╯︵ ┻━┻

(╯°□°)╯︵ ┻━┻

• When to use tables

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS• Adapting tables to small screens

(╯°□°)╯︵ ┻━┻

When to use tables

When to use tables

When to use tables

• Sort

When to use tables

When to use tables

• Sort• Compare

When to use tables

When to use tables

• Sort• Compare• Cross Reference

When to use tables

When to use tables

• Sort• Compare• Cross Reference• Calculations

When to use tables

When to use tables

• Sort• Compare• Cross Reference• Calculations

When to use tablesnot

When to use tablesnot

<h5>Players:</h5> <ul> <li>Daniel Sedin</li> <li>Henrik Sedin</li> <li>Jannik Hansen</li> <li>Bo Horvat</li> </ul>

When to use tablesnot

When to use tablesnot

.players { column-count:2; }

When to use tablesnot

When to use tablesnot

/* Nicole Sullivan’s Media Object */ <div class="media"> <div class="img"> <img src="" alt="" /> </div> <div class="body"> … </div> </div>

When to use tablesnot

layout

When to use tablesnot

Tables Good

• Sort• Compare• Cross Reference• Calculations

layout

Tables Bad

Creating structure with HTML

Creating structure with HTML

<table>

</table>

Creating structure with HTML

Creating structure with HTML

<table> <caption>…</caption> </table>

Creating structure with HTML

<table>

</table>

Creating structure with HTML

<table> <caption>…</caption> <colgroup> <col span=“” class=“”> </colgroup> </table>

Creating structure with HTML

Creating structure with HTML

<table> <caption>…</caption> <colgroup>…</colgroup> <thead>…</thead> <tbody>…</tbody> <tfoot>…</tfoot> </table>

<a href=“#revenues”>

<tbody id=“revenues”>

Creating structure with HTML

<table> <caption>…</caption> <colgroup>…</colgroup> <thead>…</thead> <tbody>…</tbody> <tfoot>…</tfoot> </table>

Creating structure with HTML

Creating structure with HTML

<tr> <th scope=“”></th> <td colspan=“”></td> <td rowspan=“”></td> </tr>

Creating structure with HTML

Creating structure with HTML

<th scope=“row” colspan=“2”> Team total </th>

Creating structure with HTML<table> <caption> <colgroup span> <col /> <thead> <tbody> <tr> <th scope colspan rowspan> <td colspan rowspan> <tfoot>

Designing tables

Designing tables

Designing tables

Designing tables• Provide a caption

Designing tables• Provide a caption• Identify columns, rows, and headers

Designing tables• Provide a caption• Identify columns, rows, and headers• Enhance readability

Designing tables• Provide a caption• Identify columns, rows, and headers• Enhance readability• Group similar data

Designing tables• Provide a caption• Identify columns, rows, and headers• Enhance readability• Group similar data• Smart defaults

Designing tables• Contrast• Repetition• Alignment• Proximity

Designing tables

Designing tables

Designing tables

Designing tables

Designing tables

John Maeda, Designer

“Simplicity is about subtracting the obvious and adding the meaningful.”

Designing tables• www.behance.net/gallery/Designing-

Effective-Data-Tables/885004• understandinggraphics.com/design/

data-table-design/ • www.darkhorseanalytics.com/blog/

clear-off-the-table/

Adding style with CSS

Adding style with CSSborder-collapse:separate; border-spacing:2px;

Adding style with CSSborder-collapse:separate; border-spacing:10px;

Adding style with CSSborder-collapse:collapse; border-spacing:10px;

Adding style with CSScaption-side:top;

Adding style with CSScaption-side:top-outside;

Adding style with CSScaption-side:bottom;

Adding style with CSScaption-side:right;

Adding style with CSScaption-side:right;

Adding style with CSSvertical-align: middle;

Adding style with CSS.parent{display: table;} .child{ display: table-cell; height: 100vh; vertical-align: middle;

Adding style with CSSth { } tbody th { } tbody th[scope=“row”] { } th.points { }

Adding style with CSScolgroup { } col { }

Adding style with CSScolgroup { } col { }

tbody td:nth-child(5){ background-color:#ddd; }

Adding style with CSS

Adding style with CSS

tr:nth-child(even){ background-color:#ddd; }

Adding style with CSS

Adding style with CSS• A note about screen readers

layout

Adding style with CSS

Adding style with CSS• A note about screen readers

Adapting tables to small screens

Adapting tables to small screens

• Shrink

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻• Remove

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻• Remove• Scroll

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻• Remove• Scroll• Replace

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻• Remove• Scroll• Replace• Combo

Adapting tables to small screens

Adapting tables to small screens

Adapting tables to small screens

• Shrink• Linearize or flip (╯°□°)╯︵ ┻━┻• Remove• Scroll• Replace• Combo

Case Study

Case Study

Case Study

Case Study

Case Study

Case Study

<thead> <tr> <td></td> <th colspan=“5”>Desktop></th> <th colspan=“5”>Mobile</th> </tr> <tr> …

Case Study

Case Study

Case Study

Case Study

table,thead,tbody,tr{ display: flex;}

th,td{ display: block;}

Case Study

Case Study

table,thead,tbody,tr, th, td{ display: block;}

td:nth-child(2):before{

content: ‘💻’;}

Case Study

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS• Adapting tables to small screens

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS• Adapting tables to small screens

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS• Adapting tables to small screens

(╯°□°)╯︵ ┻━┻

• When to use tables• Creating structure with HTML• Designing tables• Adding style with CSS• Adapting tables to small screens

(╯°□°)╯︵ ┻━┻

I Like To Make Websites Everyone Can Usestephaniehobson.ca@stephaniehobson

figure { display: table; caption-side: bottom; }

figcaption { display: table-caption; }

Adding style with CSS• nth-child zebra striping• column styling• vertical-align, white-space• :hover highlighting

Designing tables

Designing tables

Case Study

Notes

Creating structure with HTML

<table> <caption>…</caption> <colgroup>…</colgroup> <thead>…</thead> </table>

Creating structure with HTML

Creating structure with HTML

<table> <caption>…</caption> <colgroup>…</colgroup> <thead>…</thead> <tbody>…</tbody> </table>

Creating structure with HTML

Adapting tables to small screens

Adapting tables to small screens