26 CSS Dividers14 / 26
Luxury Minimalist Gold Accent HR Line CSS
Luxury on the web is mostly restraint plus one exact detail. This divider is a 1px hairline, a 44px gold accent segment, and an enormous amount of air — with the accent segment animating in on a slow cubic curve. The measurable trick is using a fractional height with a device-pixel-ratio media query so the hairline is genuinely 1 physical pixel on retina, not a fuzzy 2.
Published Updated
The code
<section class="div-14" aria-label="Luxury minimalist gold hr divider demo">
<div class="div-14__stage">
<p class="div-14__brand">MAISON CF</p>
<hr class="div-14__rule">
<h2 class="div-14__title">Atelier Collection</h2>
<p class="div-14__sub">Nine pieces. Hand-finished. Released once a year.</p>
<hr class="div-14__rule div-14__rule--wide">
<div class="div-14__meta">
<span>EST. 1974</span><span class="div-14__dot" aria-hidden="true"></span><span>PARIS</span><span class="div-14__dot" aria-hidden="true"></span><span>NO. 09</span>
</div>
<p class="div-14__chip">1px hairline · .5px at 2dppx · 44px gold segment</p>
</div>
</section><section class="div-14" aria-label="Luxury minimalist gold hr divider demo">
<div class="div-14__stage">
<p class="div-14__brand">MAISON CF</p>
<hr class="div-14__rule">
<h2 class="div-14__title">Atelier Collection</h2>
<p class="div-14__sub">Nine pieces. Hand-finished. Released once a year.</p>
<hr class="div-14__rule div-14__rule--wide">
<div class="div-14__meta">
<span>EST. 1974</span><span class="div-14__dot" aria-hidden="true"></span><span>PARIS</span><span class="div-14__dot" aria-hidden="true"></span><span>NO. 09</span>
</div>
<p class="div-14__chip">1px hairline · .5px at 2dppx · 44px gold segment</p>
</div>
</section>.div-14 {
width: 100%;
min-height: 100vh;
min-height: 100svh;
display: block;
background: var(--div-14-bg);
--div-14-bg: oklch(0.978 0.006 85);
--div-14-ink: oklch(0.23 0.012 60);
--div-14-mut: oklch(0.56 0.014 60);
--div-14-line: color-mix(in oklch,var(--div-14-ink) 16%,transparent);
--div-14-gold: oklch(0.74 0.1 84);
--div-14-seg: 44px;
font-family: 'Segoe UI',system-ui,-apple-system,sans-serif;
color: var(--div-14-ink);
}
.div-14 *,
.div-14 *::before,
.div-14 *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.div-14__stage {
min-height: 100svh;
width: min(92vw,620px);
margin-inline: auto;
display: grid;
align-content: center;
justify-items: center;
text-align: center;
padding: clamp(32px,6vw,80px) 0;
}
.div-14__brand {
font-size: 12px;
letter-spacing: .42em;
text-indent: .42em;
color: var(--div-14-mut);
font-weight: 600;
}
.div-14__rule {
width: 100%;
border: 0;
height: 1px;
background: var(--div-14-line);
position: relative;
margin-block: clamp(30px,6.5vw,74px);
}
.div-14__rule::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
width: var(--div-14-seg);
height: 2px;
background: var(--div-14-gold);
transform-origin: 50% 50%;
animation: div-14-reveal 1.2s cubic-bezier(.16,1,.3,1) both;
}
.div-14__rule--wide::after {
width: calc(var(--div-14-seg) * 2.4);
height: 1px;
animation-delay: .25s;
}
@keyframes div-14-reveal {
from {
scale: 0 1;
opacity: 0;
}
to {
scale: 1 1;
opacity: 1;
}
}
@media (min-resolution: 2dppx) {
.div-14__rule {
height: .5px;
}
}
.div-14__title {
font-family: Georgia,'Iowan Old Style',serif;
font-size: clamp(30px,6.4vw,62px);
line-height: 1.04;
letter-spacing: .005em;
font-weight: 400;
}
.div-14__sub {
margin-top: 16px;
font-size: clamp(13.5px,1.7vw,16px);
line-height: 1.7;
color: var(--div-14-mut);
letter-spacing: .03em;
}
.div-14__meta {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
flex-wrap: wrap;
font-size: 10.5px;
letter-spacing: .28em;
color: var(--div-14-mut);
}
.div-14__dot {
width: 3px;
height: 3px;
border-radius: 99px;
background: var(--div-14-gold);
}
.div-14__chip {
margin-top: clamp(26px,5vw,54px);
font-family: ui-monospace,Menlo,Consolas,monospace;
font-size: 11px;
color: var(--div-14-mut);
padding: 8px 14px;
border: 1px solid var(--div-14-line);
border-radius: 99px;
letter-spacing: .02em;
}
@media (prefers-reduced-motion: reduce) {
.div-14__rule::after {
animation: none;
}
}.div-14 {
width: 100%;
min-height: 100vh;
min-height: 100svh;
display: block;
background: var(--div-14-bg);
--div-14-bg: oklch(0.978 0.006 85);
--div-14-ink: oklch(0.23 0.012 60);
--div-14-mut: oklch(0.56 0.014 60);
--div-14-line: color-mix(in oklch,var(--div-14-ink) 16%,transparent);
--div-14-gold: oklch(0.74 0.1 84);
--div-14-seg: 44px;
font-family: 'Segoe UI',system-ui,-apple-system,sans-serif;
color: var(--div-14-ink);
}
.div-14 *,
.div-14 *::before,
.div-14 *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.div-14__stage {
min-height: 100svh;
width: min(92vw,620px);
margin-inline: auto;
display: grid;
align-content: center;
justify-items: center;
text-align: center;
padding: clamp(32px,6vw,80px) 0;
}
.div-14__brand {
font-size: 12px;
letter-spacing: .42em;
text-indent: .42em;
color: var(--div-14-mut);
font-weight: 600;
}
.div-14__rule {
width: 100%;
border: 0;
height: 1px;
background: var(--div-14-line);
position: relative;
margin-block: clamp(30px,6.5vw,74px);
}
.div-14__rule::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
width: var(--div-14-seg);
height: 2px;
background: var(--div-14-gold);
transform-origin: 50% 50%;
animation: div-14-reveal 1.2s cubic-bezier(.16,1,.3,1) both;
}
.div-14__rule--wide::after {
width: calc(var(--div-14-seg) * 2.4);
height: 1px;
animation-delay: .25s;
}
@keyframes div-14-reveal {
from {
scale: 0 1;
opacity: 0;
}
to {
scale: 1 1;
opacity: 1;
}
}
@media (min-resolution: 2dppx) {
.div-14__rule {
height: .5px;
}
}
.div-14__title {
font-family: Georgia,'Iowan Old Style',serif;
font-size: clamp(30px,6.4vw,62px);
line-height: 1.04;
letter-spacing: .005em;
font-weight: 400;
}
.div-14__sub {
margin-top: 16px;
font-size: clamp(13.5px,1.7vw,16px);
line-height: 1.7;
color: var(--div-14-mut);
letter-spacing: .03em;
}
.div-14__meta {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
flex-wrap: wrap;
font-size: 10.5px;
letter-spacing: .28em;
color: var(--div-14-mut);
}
.div-14__dot {
width: 3px;
height: 3px;
border-radius: 99px;
background: var(--div-14-gold);
}
.div-14__chip {
margin-top: clamp(26px,5vw,54px);
font-family: ui-monospace,Menlo,Consolas,monospace;
font-size: 11px;
color: var(--div-14-mut);
padding: 8px 14px;
border: 1px solid var(--div-14-line);
border-radius: 99px;
letter-spacing: .02em;
}
@media (prefers-reduced-motion: reduce) {
.div-14__rule::after {
animation: none;
}
}Here's a working CSS Divider from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Luxury Minimalist Gold Accent HR Line CSS
Source: https://codefronts.com/snippets/css-dividers/luxury-dividers/
Luxury on the web is mostly restraint plus one exact detail. This divider is a 1px hairline, a 44px gold accent segment, and an enormous amount of air — with the accent segment animating in on a slow cubic curve. The measurable trick is using a fractional height with a device-pixel-ratio media query so the hairline is genuinely 1 physical pixel on retina, not a fuzzy 2.
## HTML
```html
<section class="div-14" aria-label="Luxury minimalist gold hr divider demo">
<div class="div-14__stage">
<p class="div-14__brand">MAISON CF</p>
<hr class="div-14__rule">
<h2 class="div-14__title">Atelier Collection</h2>
<p class="div-14__sub">Nine pieces. Hand-finished. Released once a year.</p>
<hr class="div-14__rule div-14__rule--wide">
<div class="div-14__meta">
<span>EST. 1974</span><span class="div-14__dot" aria-hidden="true"></span><span>PARIS</span><span class="div-14__dot" aria-hidden="true"></span><span>NO. 09</span>
</div>
<p class="div-14__chip">1px hairline · .5px at 2dppx · 44px gold segment</p>
</div>
</section>
```
## CSS
```css
.div-14 {
width: 100%;
min-height: 100vh;
min-height: 100svh;
display: block;
background: var(--div-14-bg);
--div-14-bg: oklch(0.978 0.006 85);
--div-14-ink: oklch(0.23 0.012 60);
--div-14-mut: oklch(0.56 0.014 60);
--div-14-line: color-mix(in oklch,var(--div-14-ink) 16%,transparent);
--div-14-gold: oklch(0.74 0.1 84);
--div-14-seg: 44px;
font-family: 'Segoe UI',system-ui,-apple-system,sans-serif;
color: var(--div-14-ink);
}
.div-14 *,
.div-14 *::before,
.div-14 *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.div-14__stage {
min-height: 100svh;
width: min(92vw,620px);
margin-inline: auto;
display: grid;
align-content: center;
justify-items: center;
text-align: center;
padding: clamp(32px,6vw,80px) 0;
}
.div-14__brand {
font-size: 12px;
letter-spacing: .42em;
text-indent: .42em;
color: var(--div-14-mut);
font-weight: 600;
}
.div-14__rule {
width: 100%;
border: 0;
height: 1px;
background: var(--div-14-line);
position: relative;
margin-block: clamp(30px,6.5vw,74px);
}
.div-14__rule::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
width: var(--div-14-seg);
height: 2px;
background: var(--div-14-gold);
transform-origin: 50% 50%;
animation: div-14-reveal 1.2s cubic-bezier(.16,1,.3,1) both;
}
.div-14__rule--wide::after {
width: calc(var(--div-14-seg) * 2.4);
height: 1px;
animation-delay: .25s;
}
@keyframes div-14-reveal {
from {
scale: 0 1;
opacity: 0;
}
to {
scale: 1 1;
opacity: 1;
}
}
@media (min-resolution: 2dppx) {
.div-14__rule {
height: .5px;
}
}
.div-14__title {
font-family: Georgia,'Iowan Old Style',serif;
font-size: clamp(30px,6.4vw,62px);
line-height: 1.04;
letter-spacing: .005em;
font-weight: 400;
}
.div-14__sub {
margin-top: 16px;
font-size: clamp(13.5px,1.7vw,16px);
line-height: 1.7;
color: var(--div-14-mut);
letter-spacing: .03em;
}
.div-14__meta {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
flex-wrap: wrap;
font-size: 10.5px;
letter-spacing: .28em;
color: var(--div-14-mut);
}
.div-14__dot {
width: 3px;
height: 3px;
border-radius: 99px;
background: var(--div-14-gold);
}
.div-14__chip {
margin-top: clamp(26px,5vw,54px);
font-family: ui-monospace,Menlo,Consolas,monospace;
font-size: 11px;
color: var(--div-14-mut);
padding: 8px 14px;
border: 1px solid var(--div-14-line);
border-radius: 99px;
letter-spacing: .02em;
}
@media (prefers-reduced-motion: reduce) {
.div-14__rule::after {
animation: none;
}
}
```Here's a working CSS Divider from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Luxury Minimalist Gold Accent HR Line CSS
Source: https://codefronts.com/snippets/css-dividers/luxury-dividers/
Luxury on the web is mostly restraint plus one exact detail. This divider is a 1px hairline, a 44px gold accent segment, and an enormous amount of air — with the accent segment animating in on a slow cubic curve. The measurable trick is using a fractional height with a device-pixel-ratio media query so the hairline is genuinely 1 physical pixel on retina, not a fuzzy 2.
## HTML
```html
<section class="div-14" aria-label="Luxury minimalist gold hr divider demo">
<div class="div-14__stage">
<p class="div-14__brand">MAISON CF</p>
<hr class="div-14__rule">
<h2 class="div-14__title">Atelier Collection</h2>
<p class="div-14__sub">Nine pieces. Hand-finished. Released once a year.</p>
<hr class="div-14__rule div-14__rule--wide">
<div class="div-14__meta">
<span>EST. 1974</span><span class="div-14__dot" aria-hidden="true"></span><span>PARIS</span><span class="div-14__dot" aria-hidden="true"></span><span>NO. 09</span>
</div>
<p class="div-14__chip">1px hairline · .5px at 2dppx · 44px gold segment</p>
</div>
</section>
```
## CSS
```css
.div-14 {
width: 100%;
min-height: 100vh;
min-height: 100svh;
display: block;
background: var(--div-14-bg);
--div-14-bg: oklch(0.978 0.006 85);
--div-14-ink: oklch(0.23 0.012 60);
--div-14-mut: oklch(0.56 0.014 60);
--div-14-line: color-mix(in oklch,var(--div-14-ink) 16%,transparent);
--div-14-gold: oklch(0.74 0.1 84);
--div-14-seg: 44px;
font-family: 'Segoe UI',system-ui,-apple-system,sans-serif;
color: var(--div-14-ink);
}
.div-14 *,
.div-14 *::before,
.div-14 *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.div-14__stage {
min-height: 100svh;
width: min(92vw,620px);
margin-inline: auto;
display: grid;
align-content: center;
justify-items: center;
text-align: center;
padding: clamp(32px,6vw,80px) 0;
}
.div-14__brand {
font-size: 12px;
letter-spacing: .42em;
text-indent: .42em;
color: var(--div-14-mut);
font-weight: 600;
}
.div-14__rule {
width: 100%;
border: 0;
height: 1px;
background: var(--div-14-line);
position: relative;
margin-block: clamp(30px,6.5vw,74px);
}
.div-14__rule::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
width: var(--div-14-seg);
height: 2px;
background: var(--div-14-gold);
transform-origin: 50% 50%;
animation: div-14-reveal 1.2s cubic-bezier(.16,1,.3,1) both;
}
.div-14__rule--wide::after {
width: calc(var(--div-14-seg) * 2.4);
height: 1px;
animation-delay: .25s;
}
@keyframes div-14-reveal {
from {
scale: 0 1;
opacity: 0;
}
to {
scale: 1 1;
opacity: 1;
}
}
@media (min-resolution: 2dppx) {
.div-14__rule {
height: .5px;
}
}
.div-14__title {
font-family: Georgia,'Iowan Old Style',serif;
font-size: clamp(30px,6.4vw,62px);
line-height: 1.04;
letter-spacing: .005em;
font-weight: 400;
}
.div-14__sub {
margin-top: 16px;
font-size: clamp(13.5px,1.7vw,16px);
line-height: 1.7;
color: var(--div-14-mut);
letter-spacing: .03em;
}
.div-14__meta {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
flex-wrap: wrap;
font-size: 10.5px;
letter-spacing: .28em;
color: var(--div-14-mut);
}
.div-14__dot {
width: 3px;
height: 3px;
border-radius: 99px;
background: var(--div-14-gold);
}
.div-14__chip {
margin-top: clamp(26px,5vw,54px);
font-family: ui-monospace,Menlo,Consolas,monospace;
font-size: 11px;
color: var(--div-14-mut);
padding: 8px 14px;
border: 1px solid var(--div-14-line);
border-radius: 99px;
letter-spacing: .02em;
}
@media (prefers-reduced-motion: reduce) {
.div-14__rule::after {
animation: none;
}
}
```How this works
The composition is three tokens and a lot of space:
.rule{ height:1px; background:var(--line);
margin-block:clamp(32px,7vw,86px); position:relative; }
.rule::after{ content:''; position:absolute; left:50%; translate:-50% -50%;
top:50%; width:var(--seg,44px); height:2px; background:var(--gold); }The accent is a short, heavier segment sitting exactly on the hairline. That single contrast — 1px neutral versus 2px gold across 44px — is doing all the work; add anything else and it stops reading as luxury.
The retina detail matters more than it sounds:
@media (min-resolution:2dppx){ .rule{ height:.5px } }On a 2× display a 1px CSS line is two device pixels, which is why "hairlines" often look chunky on a MacBook and crisp on a cheap monitor. Halving it at 2dppx gives a true single-pixel rule. Pair that with a low-contrast line colour derived by color-mix() rather than a light grey hex, so it stays a hairline in dark mode too.
The entrance uses a scaleX from the centre with transform-origin:50% and a long, gentle easing — luxury motion is slow, single-property and never bounces.
Make it yours
- Segment width: 32px reads as a full stop, 44px as a section mark, 120px as a chapter opener. Change one token, keep everything else.
- Letterspaced label instead of a segment: replace ::after with a centred word at
letter-spacing:.34emand a background matching the page — the ornamental-divider technique in a couture register. - Warm vs cool gold: oklch(0.78 0.1 88) is champagne; oklch(0.7 0.13 70) is antique; oklch(0.84 0.06 92) is pale leaf. Never use pure #FFD700 — it reads as a web page from 2004.
- Vertical rule between product columns: rotate the whole idea 90° with
width:1px; height:100%and the segment as a horizontal tick.
Gotchas — read before shipping
- Sub-pixel heights are rounded by some engines; always test on a real 2× display rather than a browser zoom simulation.
- Low-contrast hairlines can fail WCAG 1.4.11 if they carry meaning. Purely decorative rules are exempt — but a rule that separates interactive rows needs 3:1 against its background.
margin-blockon an hr collapses with adjacent paragraph margins. That is usually what you want; if not, give the rule a padded wrapper.- Resist adding a shadow, gradient or radius here. Every addition to this divider makes it look cheaper — that is the design constraint.
Browser support
| Chrome | Safari | Firefox | Edge |
|---|---|---|---|
| 111+ | 16.4+ | 113+ | 111+ |
min-resolution works in all modern browsers (Safari 16+ unprefixed; older Safari needs -webkit-min-device-pixel-ratio). Logical margin-block: Chrome 87, Safari 14.1, Firefox 66.