Tables
Data table styles with responsive scrolling and consistent cell styling.
Example table
| Name ▲ , sorted ascending | Joined | Updated | Actions | |
|---|---|---|---|---|
| Karen White | karen@example.com | 4 months ago | 4 months ago | Edit |
| Leo Martinez | leo@example.com | 4 months ago | 4 months ago | Edit |
| Mia Anderson | mia@example.com | 4 months ago | 4 months ago | Edit |
| Noah Thomas | noah@example.com | 4 months ago | 4 months ago | Edit |
| Olivia Garcia | olivia@example.com | 4 months ago | 4 months ago | Edit |
| Paul Robinson | paul@example.com | 4 months ago | 4 months ago | Edit |
| Quinn Harris | quinn@example.com | 4 months ago | 4 months ago | Edit |
| Ruby Clark | ruby@example.com | 4 months ago | 4 months ago | Edit |
| Sam Lewis | sam@example.com | 4 months ago | 4 months ago | Edit |
| Tina Walker | tina@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 | |
|---|---|---|
| Karen White | karen@example.com | |
| Leo Martinez | leo@example.com | |
| Mia Anderson | mia@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 | |
|---|---|---|---|
| Karen White | karen@example.com | 11 Apr 2026, 10:28 | 11 Apr 2026, 10:28 |
| Leo Martinez | leo@example.com | 11 Apr 2026, 10:28 | 11 Apr 2026, 10:28 |
| Mia Anderson | mia@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) |