Home Werk
SaaS bouwenAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOWebshop bouwen
AI-oplossingenB2B-platformsE-commerceHorecaLead generationLogistiekOnderwijsProcesautomatiseringSaaS-platformsStartup MVPVastgoedZorg
JuridischZorgVastgoedFinanceHoreca
Den HaagRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
OverWerkwijzeLabBlogContact

Projectkaart wordt hero Nieuw

Klik een projectkaart en de foto groeit uit tot de hero van de detailpagina, de titel reist mee; terug gaat het omgekeerd (ook met Esc). Gedeeld element via View Transitions, zonder support wisselt de weergave direct. Multi-page: @view-transition { navigation: auto; } en op de overzichtspagina én de detailpagina dezelfde view-transition-name op de foto (bv. project-12-foto).

Bouwbedrijf Van Dam · projecten3 van 48

Zo gebruik je het

  1. Plak de HTML op de plek waar het onderdeel moet komen.
  2. Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
  3. Voeg de JavaScript toe en roep init() aan met het element waar de HTML in staat.
<!-- Projectkaart wordt hero · NedDev · eigen werk. -->
<div class="jouw-container">
<!-- Echte multi-page site:
  1. CSS op beide pagina's:  @view-transition { navigation: auto; }
  2. Overzicht: geef ALLEEN de aangeklikte kaartfoto een naam, bv. style="view-transition-name: project-12-foto" (uniek per kaart)
  3. Detailpagina: dezelfde naam op de hero-foto. De browser morpht positie en formaat zelf.
  4. Neem de ::view-transition-old/new(vth-img) regels over (height: 100%; object-fit: cover)
  5. Reduced motion: @media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } } -->
<div class="vth">
  <div class="vth__list">
    <div class="vth__top"><span class="vth__kick">Bouwbedrijf Van Dam · projecten</span><span class="vth__count">3 van 48</span></div>
    <div class="vth__grid">
      <button class="vth__card" data-i="0"><span class="vth__img" style="background-image:url(https://neddev.com/lab-media/vt-thumbnail-naar-hero-1.webp)"></span><span class="vth__t">Aanbouw met schuifpui</span><span class="vth__m">Zwolle · 2026</span></button>
      <button class="vth__card" data-i="1"><span class="vth__img" style="background-image:url(https://neddev.com/lab-media/vt-thumbnail-naar-hero-2.webp)"></span><span class="vth__t">Dakkapel jaren dertig</span><span class="vth__m">Amersfoort · 2026</span></button>
      <button class="vth__card" data-i="2"><span class="vth__img" style="background-image:url(https://neddev.com/lab-media/vt-thumbnail-naar-hero-3.webp)"></span><span class="vth__t">Badkamer met terrazzo</span><span class="vth__m">Delft · 2025</span></button>
    </div>
  </div>
  <div class="vth__detail" hidden>
    <span class="vth__hero"></span>
    <button class="vth__back"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M10 3L5 8l5 5"/></svg>Alle projecten</button>
    <div class="vth__body">
      <h3 class="vth__dt" tabindex="-1"></h3>
      <dl class="vth__facts"></dl>
      <p class="vth__dp"></p>
    </div>
  </div>
  <span class="vth__sr" aria-live="polite"></span>
</div>
</div>

Meer uit navigatie & menu's

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 →