Ingangen per levensgebeurtenis Nieuw
Bezoekers kiezen hun situatie ("U koopt een huis", "Er is iemand overleden") en zien wat ze bij de notaris regelen, wat bij de gemeente, de doorlooptijd en de prijs vanaf. Tabs met pijltjestoetsen; wissel via View Transitions met @supports-check, zonder die API wisselt het paneel direct.
Hendriks & Van Loon notarissen · ’s-Hertogenbosch
Wat speelt er bij u?
Kies uw situatie. U ziet wat u bij ons regelt, wat bij de gemeente en wat het kost.
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.
- Voeg de JavaScript toe en roep init() aan met het element waar de HTML in staat.
<!-- Ingangen per levensgebeurtenis · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="lvg">
<div class="lvg__in">
<div class="lvg__head">
<p class="lvg__eyebrow">Hendriks & Van Loon notarissen · ’s-Hertogenbosch</p>
<h2 class="lvg__h">Wat speelt er bij u?</h2>
<p class="lvg__lead">Kies uw situatie. U ziet wat u bij ons regelt, wat bij de gemeente en wat het kost.</p>
</div>
<div class="lvg__wrap">
<div class="lvg__tabs" role="tablist" aria-label="Levensgebeurtenissen" aria-orientation="vertical">
<button class="lvg__tab" role="tab" id="lvg-t0" aria-controls="lvg-p" aria-selected="true" data-i="0"><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M5 15L16 6l11 9M8 13v14h16V13"/><path d="M14 27v-7h4v7"/></svg>U koopt een huis</button>
<button class="lvg__tab" role="tab" id="lvg-t1" aria-controls="lvg-p" aria-selected="false" tabindex="-1" data-i="1"><svg viewBox="0 0 32 32" aria-hidden="true"><circle cx="12" cy="17" r="7"/><circle cx="20" cy="17" r="7"/></svg>U gaat trouwen of samenwonen</button>
<button class="lvg__tab" role="tab" id="lvg-t2" aria-controls="lvg-p" aria-selected="false" tabindex="-1" data-i="2"><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M16 28V12M16 12c-4 0-7-3-7-7 4 0 7 3 7 7zM16 12c4 0 7-3 7-7-4 0-7 3-7 7z"/></svg>Er is iemand overleden</button>
<button class="lvg__tab" role="tab" id="lvg-t3" aria-controls="lvg-p" aria-selected="false" tabindex="-1" data-i="3"><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M8 4h11l5 5v19H8z"/><path d="M19 4v5h5M12 16h8M12 20h8M12 24h4"/></svg>U wilt iets vastleggen voor later</button>
<button class="lvg__tab" role="tab" id="lvg-t4" aria-controls="lvg-p" aria-selected="false" tabindex="-1" data-i="4"><svg viewBox="0 0 32 32" aria-hidden="true"><rect x="5" y="10" width="22" height="16" rx="2"/><path d="M12 10V6h8v4M5 17h22"/></svg>U start een bedrijf</button>
<button class="lvg__tab" role="tab" id="lvg-t5" aria-controls="lvg-p" aria-selected="false" tabindex="-1" data-i="5"><svg viewBox="0 0 32 32" aria-hidden="true"><path d="M16 5v22M6 10h20M9 10l-4 9h8zM23 10l-4 9h8z"/></svg>U gaat scheiden</button>
</div>
<div class="lvg__panel" id="lvg-p" role="tabpanel" aria-labelledby="lvg-t0" tabindex="0"></div>
</div>
</div>
</div>
</div>/* Ingangen per levensgebeurtenis · NedDev · eigen werk. */
/* fonts (Fontshare): gambetta@400,500,600 + supreme@400,500,700 */
.lvg{--ink:#1b1b18;--mut:#5c5a52;--bg:#f4efe6;--green:#1e3a33;--brass:#8a6a2f;--line:#d9d0bf;background:var(--bg);color:var(--ink);font-family:'Supreme','Switzer',sans-serif;box-sizing:border-box}
.lvg *,.lvg *::before{box-sizing:border-box}
.lvg__in{max-width:1140px;margin:0 auto;padding:50px 32px 44px}
.lvg__head{display:grid;grid-template-columns:1fr 1fr;gap:6px 40px;align-items:end;margin-bottom:26px}
.lvg__eyebrow{grid-column:1/-1;margin:0;font:500 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.lvg__h{margin:0;font-family:'Gambetta',Georgia,serif;font-weight:500;font-size:clamp(30px,3.6vw,44px);line-height:1.05;color:var(--green)}
.lvg__lead{margin:0;font-size:15.5px;line-height:1.55;color:var(--mut);max-width:44ch}
.lvg__wrap{display:grid;grid-template-columns:330px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.lvg__tabs{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#faf7f1}
.lvg__tab{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 18px;font:500 15px/1.3 'Supreme',sans-serif;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;position:relative;transition:background-color .15s ease,color .15s ease}
.lvg__tab:last-child{border-bottom:0}
.lvg__tab svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--brass);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lvg__tab:hover{background:#f1ebdf}
.lvg__tab[aria-selected="true"]{background:var(--green);color:#fff}
.lvg__tab[aria-selected="true"] svg{stroke:#e2c88f}
.lvg__tab:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}
.lvg__panel{padding:28px 32px;outline:none;view-transition-name:lvg-panel}
.lvg__panel:focus-visible{box-shadow:inset 0 0 0 3px var(--brass)}
.lvg__pt{margin:0 0 6px;font-family:'Gambetta',Georgia,serif;font-weight:500;font-size:26px;color:var(--green)}
.lvg__pi{margin:0 0 20px;font-size:15px;line-height:1.55;color:var(--mut);max-width:60ch}
.lvg__cols{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.lvg__ch{margin:0 0 8px;font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
.lvg__ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14.5px;line-height:1.45}
.lvg__ul li{position:relative;padding-left:20px}
.lvg__ul li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;border:1.5px solid var(--green);border-radius:50%}
.lvg__gem li::before{border-radius:1px;border-color:var(--brass)}
.lvg__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin:22px 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lvg__facts div{display:flex;flex-direction:column;gap:2px}
.lvg__facts span{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.lvg__facts b{font-size:17px;font-variant-numeric:tabular-nums}
.lvg__acts{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.lvg__btn{display:inline-flex;padding:12px 18px;border-radius:3px;background:var(--green);color:#fff;font-weight:700;font-size:14.5px;text-decoration:none;transition:background-color .15s ease}
.lvg__btn:hover{background:#142a24}
.lvg__btn:active{transform:translateY(1px)}
.lvg__btn:focus-visible,.lvg__tel:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.lvg__tel{color:var(--green);font-weight:700;font-size:14.5px}
::view-transition-old(lvg-panel){animation:lvg-out .16s ease both}
::view-transition-new(lvg-panel){animation:lvg-in .22s ease both}
@keyframes lvg-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes lvg-in{from{opacity:0;transform:translateY(6px)}}
@media (max-width:820px){
.lvg__in{padding:34px 14px 30px}
.lvg__head{grid-template-columns:1fr}
.lvg__wrap{grid-template-columns:1fr}
.lvg__tabs{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}
.lvg__tab{padding:12px;font-size:13.5px;gap:8px;border-right:1px solid var(--line)}
.lvg__tab svg{width:20px;height:20px}
.lvg__panel{padding:20px 16px}
.lvg__cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.lvg *{transition:none!important}::view-transition-old(lvg-panel),::view-transition-new(lvg-panel){animation:none}}// Ingangen per levensgebeurtenis · NedDev · eigen werk.
// root = het element waarin de HTML staat
function init(root){
const w=root.querySelector('.lvg'); if(!w) return;
const D=[
{t:'U koopt een huis',i:'Wij maken de leveringsakte en de hypotheekakte, controleren het kadaster en zorgen dat het geld op het juiste moment naar de verkoper gaat.',n:['Leveringsakte en hypotheekakte','Controle kadaster en beslagregister','Afrekening via onze kwaliteitsrekening','Eventueel samenlevingscontract of testament'],g:['Verhuizing doorgeven binnen 5 dagen na de verhuizing','Parkeervergunning op het nieuwe adres aanvragen'],d:'4 tot 8 weken',p:'€ 1.150,00'},
{t:'U gaat trouwen of samenwonen',i:'Bij trouwen of een geregistreerd partnerschap geldt de beperkte gemeenschap van goederen. Wilt u iets anders, dan legt u dat vooraf vast.',n:['Huwelijkse of partnerschapsvoorwaarden','Samenlevingscontract bij samenwonen','Testament dat bij uw nieuwe situatie past'],g:['Melding voorgenomen huwelijk, minstens 2 weken vooraf','Inschrijven op hetzelfde adres'],d:'2 tot 3 weken',p:'€ 795,00'},
{t:'Er is iemand overleden',i:'U hoeft niet alles tegelijk. Wij zoeken uit of er een testament is, wie de erfgenamen zijn en wat er als eerste moet gebeuren.',n:['Opvragen Centraal Testamentenregister','Verklaring van erfrecht voor de bank','Begeleiding bij verdeling van de nalatenschap'],g:['Aangifte van overlijden, meestal via de uitvaartondernemer','Uittreksel uit de overlijdensakte opvragen'],d:'2 tot 6 weken',p:'€ 695,00'},
{t:'U wilt iets vastleggen voor later',i:'Een testament regelt wie wat krijgt. Een levenstestament regelt wie voor u beslist als u dat zelf niet meer kunt.',n:['Testament','Levenstestament met financiële en medische volmacht','Jaarlijks gratis even nalopen of alles nog klopt'],g:['Niets: dit regelt u alleen bij de notaris'],d:'2 weken',p:'€ 650,00 voor beide'},
{t:'U start een bedrijf',i:'Voor een eenmanszaak heeft u ons niet nodig. Voor een bv, een stichting of een vof met afspraken wel.',n:['Oprichtingsakte bv of stichting','Aandeelhoudersovereenkomst','Inschrijving bij de KvK door ons geregeld'],g:['Bestemmingsplan controleren voor uw bedrijfspand','Eventueel een vergunning voor terras of standplaats'],d:'1 tot 2 weken',p:'€ 895,00'},
{t:'U gaat scheiden',i:'Heeft u samen een huis, dan is de notaris nodig om het op één naam te zetten. Wij werken samen met uw mediator of advocaat.',n:['Akte van verdeling van de woning','Doorhalen of aanpassen van de hypotheek','Nieuw testament na de scheiding'],g:['Verhuizing doorgeven van degene die vertrekt'],d:'3 tot 6 weken',p:'€ 975,00'}
];
const tabs=[...w.querySelectorAll('.lvg__tab')], panel=w.querySelector('.lvg__panel');
const li=a=>a.map(x=>'<li>'+x+'</li>').join('');
const fill=i=>{const d=D[i]; panel.setAttribute('aria-labelledby','lvg-t'+i);
panel.innerHTML='<h3 class="lvg__pt">'+d.t+'</h3><p class="lvg__pi">'+d.i+'</p><div class="lvg__cols"><div><p class="lvg__ch">Bij de notaris</p><ul class="lvg__ul">'+li(d.n)+'</ul></div><div><p class="lvg__ch">Bij de gemeente</p><ul class="lvg__ul lvg__gem">'+li(d.g)+'</ul></div></div><div class="lvg__facts"><div><span>Doorlooptijd</span><b>'+d.d+'</b></div><div><span>Vaste prijs vanaf</span><b>'+d.p+'</b></div><div><span>Eerste gesprek</span><b>Gratis, 30 minuten</b></div></div><div class="lvg__acts"><a class="lvg__btn" href="#">Plan een kennismaking</a><a class="lvg__tel" href="tel:0731234567">Of bel 073 123 45 67</a></div>';
panel.querySelectorAll('a[href="#"]').forEach(a=>a.addEventListener('click',e=>e.preventDefault()));
};
const rm=matchMedia('(prefers-reduced-motion: reduce)').matches;
const sel=(i,focus)=>{tabs.forEach((t,k)=>{t.setAttribute('aria-selected',k===i?'true':'false'); t.tabIndex=k===i?0:-1;}); if(focus) tabs[i].focus();
if(document.startViewTransition&&!rm){document.startViewTransition(()=>fill(i));} else fill(i);};
tabs.forEach((t,k)=>{t.addEventListener('click',()=>sel(k)); t.addEventListener('keydown',e=>{let n=-1;
if(e.key==='ArrowDown'||e.key==='ArrowRight') n=(k+1)%tabs.length; else if(e.key==='ArrowUp'||e.key==='ArrowLeft') n=(k-1+tabs.length)%tabs.length; else if(e.key==='Home') n=0; else if(e.key==='End') n=tabs.length-1;
if(n>-1){e.preventDefault(); sel(n,true);}});});
fill(0);
}
init(document.querySelector('.jouw-container'));
Meer uit paginasecties
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 →