Sectiescheiders met vorm Nieuw
Zes scheiders tussen twee secties: golf, tanden, schaakbord, schulp, pixeltrap en boog, plus drie kleurcombinaties. Inline SVG (patterns voor de herhalende vormen, preserveAspectRatio="none" voor golf en boog) met fill: currentColor, zodat de scheider altijd de kleur van de volgende sectie heeft. Wisselen gaat met :has() op keuzerondjes, pure CSS, werkt overal.
WerkwijzeIn vier stappen naar je nieuwe tuin
01 Intake02 Ontwerp03 Aanleg04 Nazorg
Zo gebruik je het
- Plak de HTML op de plek waar het onderdeel moet komen.
- Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
- Geen JavaScript nodig.
<!-- Sectiescheiders met vorm · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="ssd">
<div class="ssd__pick">
<fieldset class="ssd__set"><legend class="ssd__lg">Vorm</legend>
<label><input type="radio" name="ssd-v" value="golf" checked><span>Golf</span></label><label><input type="radio" name="ssd-v" value="tand"><span>Tanden</span></label><label><input type="radio" name="ssd-v" value="schaak"><span>Schaak</span></label><label><input type="radio" name="ssd-v" value="schulp"><span>Schulp</span></label><label><input type="radio" name="ssd-v" value="pixel"><span>Pixel</span></label><label><input type="radio" name="ssd-v" value="boog"><span>Boog</span></label>
</fieldset>
<fieldset class="ssd__set ssd__set--c"><legend class="ssd__lg">Kleur</legend>
<label><input type="radio" name="ssd-c" value="1" checked><span class="ssd__sw" style="--a:#0a0a0a;--b:#F5480F"></span><b class="ssd__lg">Zwart en oranje</b></label><label><input type="radio" name="ssd-c" value="2"><span class="ssd__sw" style="--a:#1f3b2d;--b:#e9dfc9"></span><b class="ssd__lg">Groen en zand</b></label><label><input type="radio" name="ssd-c" value="3"><span class="ssd__sw" style="--a:#f4f3f1;--b:#1b2a4a"></span><b class="ssd__lg">Beton en marine</b></label>
</fieldset>
</div>
<div class="ssd__pg">
<div class="ssd__a"><span class="ssd__k">Werkwijze</span><b>In vier stappen naar je nieuwe tuin</b></div>
<div class="ssd__d" aria-hidden="true">
<svg class="ssd__v ssd__v--golf" viewBox="0 0 100 10" preserveAspectRatio="none"><path d="M0 6 C8 0 17 0 25 5 S42 10 50 5 67 0 75 5 92 10 100 4 V10 H0Z"/></svg>
<svg class="ssd__v ssd__v--tand"><defs><pattern id="ssd-p1" width="20" height="12" patternUnits="userSpaceOnUse"><path d="M0 12 10 0 20 12Z"/></pattern></defs><rect width="100%" height="100%" fill="url(#ssd-p1)"/></svg>
<svg class="ssd__v ssd__v--schaak"><defs><pattern id="ssd-p2" width="16" height="16" patternUnits="userSpaceOnUse"><rect width="8" height="8" x="8"/><rect width="8" height="8" y="8"/><rect width="16" height="0"/></pattern></defs><rect width="100%" height="16" fill="url(#ssd-p2)"/></svg>
<svg class="ssd__v ssd__v--schulp"><defs><pattern id="ssd-p3" width="24" height="12" patternUnits="userSpaceOnUse"><path d="M0 12A12 12 0 0 1 24 12Z"/></pattern></defs><rect width="100%" height="100%" fill="url(#ssd-p3)"/></svg>
<svg class="ssd__v ssd__v--pixel"><defs><pattern id="ssd-p4" width="48" height="16" patternUnits="userSpaceOnUse"><path d="M0 16V12H8V8H16V4H24V0H32V4H40V8H48V16Z"/></pattern></defs><rect width="100%" height="100%" fill="url(#ssd-p4)"/></svg>
<svg class="ssd__v ssd__v--boog" viewBox="0 0 100 10" preserveAspectRatio="none"><path d="M0 10 C25 -2 75 -2 100 10Z"/></svg>
</div>
<div class="ssd__b"><span>01 Intake</span><span>02 Ontwerp</span><span>03 Aanleg</span><span>04 Nazorg</span></div>
</div>
</div>
</div>/* Sectiescheiders met vorm · NedDev · eigen werk. */
.ssd{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;font-family:'Switzer',system-ui,sans-serif;--a:#0a0a0a;--b:#F5480F;--ta:#fff;--tb:#0a0a0a}
.ssd:has(input[name="ssd-c"][value="2"]:checked){--a:#1f3b2d;--b:#e9dfc9;--ta:#f4efe4;--tb:#1f3b2d}
.ssd:has(input[name="ssd-c"][value="3"]:checked){--a:#f4f3f1;--b:#1b2a4a;--ta:#0a0a0a;--tb:#fff}
.ssd__pick{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #e6e3de}
.ssd__set{display:flex;flex-wrap:wrap;gap:3px;margin:0;padding:0;border:0}
.ssd__lg{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ssd__set label{position:relative;cursor:pointer}
.ssd__set input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ssd__set span{display:block;padding:5px 8px;border-radius:999px;font:500 10px 'JetBrains Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:#5f5a54;transition:background-color .16s,color .16s}
.ssd__set input:checked+span{background:#0a0a0a;color:#fff}
.ssd__set input:focus-visible+span{outline:2px solid #F5480F;outline-offset:2px}
.ssd__set--c{flex-wrap:nowrap}
.ssd__set .ssd__sw{width:18px;height:18px;padding:0;border-radius:50%;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.ssd__set input:checked+.ssd__sw{background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #0a0a0a}
.ssd__pg{flex:1;display:flex;flex-direction:column;min-height:0}
.ssd__a{flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 16px 6px;background:var(--a);color:var(--ta);transition:background-color .35s,color .35s}
.ssd__k{font:500 10px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.ssd__a b{font-size:clamp(15px,4.4vw,19px);letter-spacing:-.02em;line-height:1.15}
.ssd__d{position:relative;height:16px;margin-top:-16px;color:var(--b);transition:color .35s}
.ssd__v{position:absolute;left:0;bottom:-1px;width:100%;height:17px;display:none;fill:currentColor;transform-origin:50% 100%}
.ssd__v--schaak,.ssd__v--pixel{height:16px;bottom:0}.ssd__v--tand,.ssd__v--schulp{height:12px;bottom:0}
.ssd:has(input[value="golf"]:checked) .ssd__v--golf,.ssd:has(input[value="tand"]:checked) .ssd__v--tand,.ssd:has(input[value="schaak"]:checked) .ssd__v--schaak,.ssd:has(input[value="schulp"]:checked) .ssd__v--schulp,.ssd:has(input[value="pixel"]:checked) .ssd__v--pixel,.ssd:has(input[value="boog"]:checked) .ssd__v--boog{display:block;animation:ssd-in .32s cubic-bezier(.2,.7,.2,1)}
.ssd__b{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 16px 14px;background:var(--b);box-shadow:0 -1px 0 var(--b);color:var(--tb);font:600 12px 'Switzer',sans-serif;transition:background-color .35s,color .35s}
@keyframes ssd-in{from{transform:scaleY(0)}}
@media (prefers-reduced-motion:reduce){.ssd__v{animation:none!important}}
@media (max-width:420px){.ssd__pick{flex-direction:column;align-items:flex-start;gap:4px;padding:6px 8px}.ssd__set span{padding:4px 6px;font-size:9.5px}}
Meer uit componenten
Iets gezien dat je mooi vindt?
Zet het in je selectie en stuur hem op. Dan bouwen we je site eromheen, in jouw huisstijl.
Neem contact op →