Columns & Layouts

Utilities for flex columns and common flex layouts.

Creating Flex Columns

Use d-fl-col{n} to create uniformly sized children within an element.

<div class="d-fl-col1">...</div>
<div class="d-fl-col2 d-cg8">...</div>
<div class="d-fl-col3 d-cg8">...</div>
<div class="d-fl-col4 d-cg8">...</div>
<div class="d-fl-col5 d-cg8">...</div>
<div class="d-fl-col6 d-cg8">...</div>
<div class="d-fl-col7 d-cg8">...</div>
<div class="d-fl-col8 d-cg8">...</div>
<div class="d-fl-col9 d-cg8">...</div>
<div class="d-fl-col10 d-cg8">...</div>
<div class="d-fl-col11 d-cg8">...</div>
<div class="d-fl-col12 d-cg8">...</div>

Flex Column Gaps

Use d-cg{n} to create uniform gaps between flex columns within an element.

<div class="d-fl-col3 d-cg0">...</div>
<div class="d-fl-col3 d-cg1">...</div>
<div class="d-fl-col3 d-cg2">...</div>
<div class="d-fl-col3 d-cg4">...</div>
<div class="d-fl-col3 d-cg6">...</div>
<div class="d-fl-col3 d-cg8">...</div>
<div class="d-fl-col3 d-cg12">...</div>
<div class="d-fl-col3 d-cg16">...</div>
<div class="d-fl-col3 d-cg24">...</div>
<div class="d-fl-col3 d-cg32">...</div>
<div class="d-fl-col3 d-cg48">...</div>
<div class="d-fl-col3 d-cg64">...</div>

Centering Objects

This used to be accomplished with d-fl-center, which is deprecated in favor of using Stack.

By default flexed items align to flex-start both horizontally and vertically (effectively top, left). Combine Stack's align and justify utilities to center-center child items within an element.

<dt-stack direction="row" align="center" justify="center">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</dt-stack>

Classes

Class
Output
.d-fl-col1 > *{ flex-basis: calc(100% - (var(--fl-gap)* 2)); }
.d-fl-col2 > *{ flex-basis: calc(50% - (var(--fl-gap)* 2)); }
.d-fl-col3 > *{ flex-basis: calc(33% - (var(--fl-gap)* 2)); }
.d-fl-col4 > *{ flex-basis: calc(25% - (var(--fl-gap)* 2)); }
.d-fl-col5 > *{ flex-basis: calc(20% - (var(--fl-gap)* 2)); }
.d-fl-col6 > *{ flex-basis: calc(17% - (var(--fl-gap)* 2)); }
.d-fl-col7 > *{ flex-basis: calc(14% - (var(--fl-gap)* 2)); }
.d-fl-col8 > *{ flex-basis: calc(13% - (var(--fl-gap)* 2)); }
.d-fl-col9 > *{ flex-basis: calc(11% - (var(--fl-gap)* 2)); }
.d-fl-col10 > *{ flex-basis: calc(10% - (var(--fl-gap)* 2)); }
.d-fl-col11 > *{ flex-basis: calc(9% - (var(--fl-gap)* 2)); }
.d-fl-col12 > *{ flex-basis: calc(8% - (var(--fl-gap)* 2)); }
.d-cg0 > * { --fl-gap: 0rem !important; }
.d-cg1 > * { --fl-gap: 0.1rem !important; }
.d-cg2 > * { --fl-gap: 0.2rem !important; }
.d-cg4 > * { --fl-gap: 0.4rem !important; }
.d-cg6 > * { --fl-gap: 0.6rem !important; }
.d-cg8 > * { --fl-gap: 0.8rem !important; }
.d-cg12 > * { --fl-gap: 1.2rem !important; }
.d-cg16 > * { --fl-gap: 1.6rem !important; }
.d-cg24 > * { --fl-gap: 2.4rem !important; }
.d-cg32 > * { --fl-gap: 3.2rem !important; }
.d-cg48 > * { --fl-gap: 4.8rem !important; }
.d-cg64 > * { --fl-gap: 6.4rem !important; }
Columns & Layouts documentation last updated Thursday, June 11, 2026