Tables
Data table styles with responsive scrolling and consistent cell styling.
Example table
| Name ▲ , sorted ascending | Joined | Updated | Actions | |
|---|---|---|---|---|
| Alice Johnson | alice@example.com | 4 months ago | 4 months ago | Edit |
| Bob Smith | bob@example.com | 4 months ago | 4 months ago | Edit |
| Carol Williams | carol@example.com | 4 months ago | 4 months ago | Edit |
| David Brown | david@example.com | 4 months ago | 4 months ago | Edit |
| Eve Davis | eve@example.com | 4 months ago | 4 months ago | Edit |
| Frank Miller | frank@example.com | 4 months ago | 4 months ago | Edit |
| Grace Lee | grace@example.com | 4 months ago | 4 months ago | Edit |
| Henry Wilson | henry@example.com | 4 months ago | 4 months ago | Edit |
| Ivy Chen | ivy@example.com | 4 months ago | 4 months ago | Edit |
| Jack Taylor | jack@example.com | 4 months ago | 4 months ago | Edit |
Row actions as a popover menu
For several actions per row, pair the actions cell with l_ui_popover instead of separate buttons. Use the l-ui-popover__menu and l-ui-popover__menu-item classes for the list, and give the icon-only trigger an aria-label.
| Name | Actions | |
|---|---|---|
| Alice Johnson | alice@example.com | |
| Bob Smith | bob@example.com | |
| Carol Williams | carol@example.com |
Floating actions column
Add l-ui-table--floating-actions to the table to pin the action cells to the right-hand edge of the scroll container. As the table scrolls horizontally, the actions stay visible and the content passing underneath fades out under their leading edge. Scroll the example below to see it.
Horizontal scroll hint
Wrap the table container in l-ui-scroll-hint wired to the l-ui--scroll-hint controller to fade the clipped edge while more columns are available in that direction - useful on small screens where the scrollbar is hidden until the user scrolls. The fades update as the user scrolls and disappear when the table fits. The l_ui_table helper adds this wrapper automatically.
| Name | Created | Updated | |
|---|---|---|---|
| Alice Johnson | alice@example.com | 11 Apr 2026, 10:28 | 11 Apr 2026, 10:28 |
| Bob Smith | bob@example.com | 11 Apr 2026, 10:28 | 11 Apr 2026, 10:28 |
| Carol Williams | carol@example.com | 11 Apr 2026, 10:28 | 11 Apr 2026, 10:28 |
CSS classes
| Class | Description |
|---|---|
l-ui-table-container |
Scrollable container for responsive tables |
l-ui-table |
Base table styling |
l-ui-table__header |
Table header section |
l-ui-table__header-cell |
Header cell styling |
l-ui-table__body |
Table body section |
l-ui-table__cell |
Standard data cell |
l-ui-table__cell l-ui-table__cell--primary |
Primary cell (first column, links) |
l-ui-table__header-cell l-ui-table__header-cell--action |
Right-aligned header cell for action columns |
l-ui-table__cell l-ui-table__cell--action |
Actions cell (right-aligned) |
l-ui-table--floating-actions |
Table modifier that pins the action cells to the right-hand edge of the scroll container during horizontal scrolling |
l-ui-scroll-hint |
Wrapper around a horizontal scroller that fades the clipped edge while more content is available (paired with the l-ui--scroll-hint controller) |
l-ui-scroll-hint--left, l-ui-scroll-hint--right |
Show the fade on that edge (toggled automatically by the controller) |
l-ui-table__action--danger |
Danger styling for destructive actions (used on links or buttons within action cells) |
l-ui-table__header-cell--sortable |
Header cell containing a sort link (applied automatically by l_ui_sort_link) |
l-ui-table__sort-link |
Styled sort link inside a sortable header cell |
l-ui-table__sort-indicator |
Sort direction indicator (▲/▼) shown next to the active sort link |
l-ui-popover__menu |
List of actions inside a popover (see Popovers) |