24 CSS Timeline Layouts 12 / 24
Art Deco Steps
Gallery-wall layout with geometric ornamentation, italic serif eras, and curated work tags.
The code
<div class="tl12-wrap">
<div class="tl12-ornament" aria-hidden="true">
<div class="tl12-rule"></div>
<div class="tl12-diamond"></div>
<div class="tl12-label">A Retrospective</div>
<div class="tl12-diamond"></div>
<div class="tl12-rule"></div>
</div>
<div class="tl12-entry">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Early</div>
<div class="tl12-span">1890 — 1910</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">The Impressionist Foundation</h3>
<p class="tl12-body">Rooted in the tradition of plein-air painting, the early works capture fleeting light and emotional atmosphere rather than documentary precision. Critics were hostile; collectors were entranced.</p>
<div class="tl12-works">
<span class="tl12-work">Haystacks at Dusk</span>
<span class="tl12-work">The Seine in November</span>
<span class="tl12-work">Portrait of Madeleine</span>
</div>
</div>
</div>
</div>
<div class="tl12-entry">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Middle</div>
<div class="tl12-span">1911 — 1935</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">The Cubist Rupture</h3>
<p class="tl12-body">Exposure to Picasso and Braque in Paris fractured the picture plane. The artist began dissecting familiar forms — faces, furniture, cityscapes — into interlocking geometric shards of simultaneous viewpoints.</p>
<div class="tl12-works">
<span class="tl12-work">Decomposition No. 7</span>
<span class="tl12-work">Woman at the Table</span>
<span class="tl12-work">Three Guitars</span>
</div>
</div>
</div>
</div>
<div class="tl12-entry tl12-last">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Late</div>
<div class="tl12-span">1936 — 1962</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">Abstraction & Silence</h3>
<p class="tl12-body">The war years stripped away decoration. Large canvases of near-monochromatic fields emerged — radical reductions that anticipated Abstract Expressionism. The late works are the quietest and the most demanding.</p>
<div class="tl12-works">
<span class="tl12-work">Blue Field Study I</span>
<span class="tl12-work">Nocturne for V.</span>
<span class="tl12-work">The Last Interior</span>
</div>
</div>
</div>
</div>
</div> <div class="tl12-wrap">
<div class="tl12-ornament" aria-hidden="true">
<div class="tl12-rule"></div>
<div class="tl12-diamond"></div>
<div class="tl12-label">A Retrospective</div>
<div class="tl12-diamond"></div>
<div class="tl12-rule"></div>
</div>
<div class="tl12-entry">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Early</div>
<div class="tl12-span">1890 — 1910</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">The Impressionist Foundation</h3>
<p class="tl12-body">Rooted in the tradition of plein-air painting, the early works capture fleeting light and emotional atmosphere rather than documentary precision. Critics were hostile; collectors were entranced.</p>
<div class="tl12-works">
<span class="tl12-work">Haystacks at Dusk</span>
<span class="tl12-work">The Seine in November</span>
<span class="tl12-work">Portrait of Madeleine</span>
</div>
</div>
</div>
</div>
<div class="tl12-entry">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Middle</div>
<div class="tl12-span">1911 — 1935</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">The Cubist Rupture</h3>
<p class="tl12-body">Exposure to Picasso and Braque in Paris fractured the picture plane. The artist began dissecting familiar forms — faces, furniture, cityscapes — into interlocking geometric shards of simultaneous viewpoints.</p>
<div class="tl12-works">
<span class="tl12-work">Decomposition No. 7</span>
<span class="tl12-work">Woman at the Table</span>
<span class="tl12-work">Three Guitars</span>
</div>
</div>
</div>
</div>
<div class="tl12-entry tl12-last">
<div class="tl12-inner">
<div class="tl12-left">
<div class="tl12-era">Late</div>
<div class="tl12-span">1936 — 1962</div>
</div>
<div class="tl12-right">
<h3 class="tl12-title">Abstraction & Silence</h3>
<p class="tl12-body">The war years stripped away decoration. Large canvases of near-monochromatic fields emerged — radical reductions that anticipated Abstract Expressionism. The late works are the quietest and the most demanding.</p>
<div class="tl12-works">
<span class="tl12-work">Blue Field Study I</span>
<span class="tl12-work">Nocturne for V.</span>
<span class="tl12-work">The Last Interior</span>
</div>
</div>
</div>
</div>
</div>.tl12-wrap {
--tl12-bg: #fff8f0;
--tl12-a: #2d3a8c;
--tl12-ink: #0d0d20;
background: var(--tl12-bg);
padding: 2.5rem 1.5rem;
max-width: 880px;
margin: 0 auto;
font-family: 'Inter', system-ui, sans-serif;
}
.tl12-ornament {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 3rem;
}
.tl12-rule {
flex: 1;
height: 1px;
background: rgba(45,58,140,0.22);
}
.tl12-diamond {
width: 8px;
height: 8px;
background: var(--tl12-a);
transform: rotate(45deg);
flex-shrink: 0;
}
.tl12-label {
font-family: Georgia, 'Times New Roman', serif;
font-style: italic;
font-size: 0.85rem;
color: rgba(45,58,140,0.5);
white-space: nowrap;
}
.tl12-entry {
margin-bottom: 3rem;
}
.tl12-last { margin-bottom: 0; }
.tl12-inner {
display: grid;
grid-template-columns: 150px 1fr;
border-left: 2px solid rgba(45,58,140,0.18);
}
.tl12-left {
padding: 0 1.75rem 0 0;
text-align: right;
position: relative;
}
.tl12-left::after {
content: '';
position: absolute;
right: -7px;
top: 1rem;
width: 12px;
height: 12px;
border-radius: 50%;
background: var(--tl12-bg);
border: 2px solid var(--tl12-a);
}
.tl12-era {
font-family: Georgia, 'Times New Roman', serif;
font-size: 1.6rem;
font-style: italic;
color: var(--tl12-a);
line-height: 1;
}
.tl12-span {
font-family: ui-monospace, monospace;
font-size: 10.5px;
color: rgba(13,13,32,0.35);
letter-spacing: 0.5px;
margin-top: 0.25rem;
}
.tl12-right {
padding: 0 0 0 1.75rem;
}
.tl12-title {
font-family: Georgia, 'Times New Roman', serif;
font-size: 1.4rem;
color: var(--tl12-ink);
margin: 0 0 0.5rem;
line-height: 1.2;
}
.tl12-body {
font-family: Georgia, 'Times New Roman', serif;
font-size: 14px;
color: rgba(13,13,32,0.6);
line-height: 1.75;
margin: 0 0 0.9rem;
}
.tl12-works {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.tl12-work {
font-family: Georgia, 'Times New Roman', serif;
font-style: italic;
font-size: 12.5px;
padding: 0.3rem 0.7rem;
border: 1px solid rgba(45,58,140,0.22);
border-radius: 2px;
color: var(--tl12-a);
background: rgba(45,58,140,0.04);
transition: background 0.2s, color 0.2s;
cursor: default;
}
.tl12-work:hover {
background: var(--tl12-a);
color: var(--tl12-bg);
}
@media (max-width: 600px) {
.tl12-inner { grid-template-columns: 1fr; border-left: 0; }
.tl12-left {
padding: 0 0 1rem;
text-align: left;
border-left: 2px solid rgba(45,58,140,0.18);
padding-left: 1rem;
}
.tl12-left::after { left: -7px; right: auto; }
.tl12-right { padding-left: 1rem; border-left: 2px solid rgba(45,58,140,0.18); }
} .tl12-wrap {
--tl12-bg: #fff8f0;
--tl12-a: #2d3a8c;
--tl12-ink: #0d0d20;
background: var(--tl12-bg);
padding: 2.5rem 1.5rem;
max-width: 880px;
margin: 0 auto;
font-family: 'Inter', system-ui, sans-serif;
}
.tl12-ornament {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 3rem;
}
.tl12-rule {
flex: 1;
height: 1px;
background: rgba(45,58,140,0.22);
}
.tl12-diamond {
width: 8px;
height: 8px;
background: var(--tl12-a);
transform: rotate(45deg);
flex-shrink: 0;
}
.tl12-label {
font-family: Georgia, 'Times New Roman', serif;
font-style: italic;
font-size: 0.85rem;
color: rgba(45,58,140,0.5);
white-space: nowrap;
}
.tl12-entry {
margin-bottom: 3rem;
}
.tl12-last { margin-bottom: 0; }
.tl12-inner {
display: grid;
grid-template-columns: 150px 1fr;
border-left: 2px solid rgba(45,58,140,0.18);
}
.tl12-left {
padding: 0 1.75rem 0 0;
text-align: right;
position: relative;
}
.tl12-left::after {
content: '';
position: absolute;
right: -7px;
top: 1rem;
width: 12px;
height: 12px;
border-radius: 50%;
background: var(--tl12-bg);
border: 2px solid var(--tl12-a);
}
.tl12-era {
font-family: Georgia, 'Times New Roman', serif;
font-size: 1.6rem;
font-style: italic;
color: var(--tl12-a);
line-height: 1;
}
.tl12-span {
font-family: ui-monospace, monospace;
font-size: 10.5px;
color: rgba(13,13,32,0.35);
letter-spacing: 0.5px;
margin-top: 0.25rem;
}
.tl12-right {
padding: 0 0 0 1.75rem;
}
.tl12-title {
font-family: Georgia, 'Times New Roman', serif;
font-size: 1.4rem;
color: var(--tl12-ink);
margin: 0 0 0.5rem;
line-height: 1.2;
}
.tl12-body {
font-family: Georgia, 'Times New Roman', serif;
font-size: 14px;
color: rgba(13,13,32,0.6);
line-height: 1.75;
margin: 0 0 0.9rem;
}
.tl12-works {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.tl12-work {
font-family: Georgia, 'Times New Roman', serif;
font-style: italic;
font-size: 12.5px;
padding: 0.3rem 0.7rem;
border: 1px solid rgba(45,58,140,0.22);
border-radius: 2px;
color: var(--tl12-a);
background: rgba(45,58,140,0.04);
transition: background 0.2s, color 0.2s;
cursor: default;
}
.tl12-work:hover {
background: var(--tl12-a);
color: var(--tl12-bg);
}
@media (max-width: 600px) {
.tl12-inner { grid-template-columns: 1fr; border-left: 0; }
.tl12-left {
padding: 0 0 1rem;
text-align: left;
border-left: 2px solid rgba(45,58,140,0.18);
padding-left: 1rem;
}
.tl12-left::after { left: -7px; right: auto; }
.tl12-right { padding-left: 1rem; border-left: 2px solid rgba(45,58,140,0.18); }
}