Users need to see structured data in a manner that makes the data readable, scannable, and comparable.
Tables provide customizable views of tabular data with features including sorting and managing columns. Tables are useful when a collection of data requires vertical alignment through columns for quick scanning and discovery of information, as well as for data that with many attributes that requires sorting, grouping, and a user customizable display.
Tables list a collection of items in rows that have similar attributes, usually with headers to label each attribute.
The following functionality can be provided by tables:
A table’s complexity and needs can vary greatly. This pattern provides many different features a table may have. Features can be mixed and matched based on your needs. Don’t include features unless they’re actually needed.
A standard table has subtle row borders.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
A striped table adds an alternating row background color, increasing usability for wider tables.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
A bordered table adds column and row borders, increasing usability for content-dense tables.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
A borderless table removes all borders, decreasing clutter for simple tables.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Rows can have a hover effect to indicate click interactions.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Use the condensed style, which reduces cell padding, for very large amounts of data.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Use the comfortable style, which increases cell padding, for making simple data breathe more.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
For text heavy pages (e.g., FAQ, APIs, Documentation, Pricing), or pages where there is one primary grid, a colored header may be appropriate. For tables immediately surrounded by other distinguishing elements, a clear header may be appropriate.
Similar to other components, the available styles are .table-{primary, success, info, warning, danger}
, as well as table-inverse
(black header) and table-clear
(clear header).
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
A normal header scrolls with the data.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
A fixed header remains visible as the table body is scrolled. This is useful for larger amounts of data.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
If the content of the table is self-explanatory for your users, it may not need a header. Provide an alternative for sorting, if necessary (e.g., a toolbar with a dropdown).
CSS is 20 years old today! 13 points and 4 comments - 2 days ago |
3.4% |
Motion Experiments 31 points and 7 comments - 11 hours ago |
2.5% |
Is everyone a designer? 15 points and 3 comments - 3 days ago |
0.0% |
Introducing GIFV 24 points and 9 comments - 5 days ago |
0.1% |
Clicking a header cell sets that column as the currently sorted column. The first click should sort descending
, the second click should sort ascending
.
Project name | Description | Price |
---|---|---|
Invoice | Add invoice confirmation | $4,500 |
Templates | Refactor templates to use the new templating library | $9,000 |
Payments | Process payments using third party api | $5,400 |
Account Management | Improve account management workflow | $6,000 |
When a table is sorted by multiple columns, the sort order is indicated by the superscript numbers.
Performing a shift+click
on a header cell should add that column to the sorted list. A second shift+click
on the same header cell should toggle the sort direction. A third shift+click
on the same header cell should remove that column from the sort list. A left click should clear the sort list and then behave as a single sort.
Event 1 | Date 2 | Module |
---|---|---|
user.create | 10/21/14 | Users |
user.create | 10/19/14 | Users |
user.register | 10/21/14 | Users |
user.register | 10/18/14 | Users |
Checkboxes are generally the best way to facilitate multi-row selection, especially if clicking a row already has a different action (e.g., opening an email).
shift+click
should select all items between the previoulsy clicked checkbox and the currently clicked checkbox.Project name | Description | Price | |
---|---|---|---|
Payments | Process payments using third party api | $5,400 | |
Invoice | Add invoice confirmation | $4,500 | |
Templates | Refactor templates to use the new templating library | $9,000 | |
Account Management | Improve account management workflow | $6,000 |
Buttons with the btn-hover
and btn-icon-only
classes.
IMG_234.jpg 2 days ago |
|
IMG_235.jpg 2 days ago |
|
IMG_236.jpg 2 days ago |
|
IMG_237.jpg 2 days ago |
To provide column customization, add an icon to the top right corner of the table. Clicking on the icon will show the Show and hide columns
dialog.
Project name | Description | Price | |
---|---|---|---|
Invoice | Add invoice confirmation | $4,500 | |
Templates | Refactor templates to use the new templating library | $9,000 | |
Payments | Process payments using third party api | $5,400 | |
Account Management | Improve account management workflow | $6,000 |
This dialog provides the ability to show/hide columns as desired.
Row grouping allows users to show and hide sets of rows that share a similar attribute.
Module 1 | Event 2 | Date 3 | |
---|---|---|---|
Module: User (2) | |||
Event: Create (2) | |||
Users | Create | 10/21/14 | |
Users | Create | 10/19/14 | |
Event: Register (2) |
Expandable rows provide additional information about a row on demand.
Project name | Description | Price | |
---|---|---|---|
Invoice | Add invoice confirmation | $4,500 | |
Payments | Process payments using third party api | $5,400 | |
|