Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Paginaovergang met vaste header New

Calm transition between pages: content fades and shifts 10 px while the header stays still. Uses View Transitions (Chrome, Safari 18, Firefox 144), without support the page swaps instantly. On a real multi-page site: @view-transition { navigation: auto; } in every page's CSS and the same view-transition-name on header and main.

Tuinaanleg · Haarlem en omgeving

Een tuin die bij je huis past.

Ontwerp, aanleg en onderhoud door één vaste ploeg. Tuinadvies aan huis is gratis.

Bekijk diensten

How to use it

  1. Paste the HTML where the navigation & menus should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Paginaovergang met vaste header · NedDev · eigen werk. -->
<div class="jouw-container">
<!-- Echte multi-page site (geen JS nodig):
  1. Zet in de CSS van ELKE pagina:  @view-transition { navigation: auto; }
  2. Geef op beide pagina's de header view-transition-name: vpf-head en de main view-transition-name: vpf-main
  3. Neem de ::view-transition-old/new(vpf-main) regels uit de CSS hieronder over
  4. Reduced motion: @media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }
  Browsers zonder support (Firefox voor cross-document) navigeren gewoon zonder animatie. -->
<div class="vpf">
  <div class="vpf__head" role="banner">
    <span class="vpf__logo"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M4 16C4 8 9 4 16 4c0 7-4 12-12 12z"/><path d="M4 16l7-7"/></svg>Hoveniers De Linde</span>
    <nav class="vpf__nav" aria-label="Demo-navigatie">
      <a class="vpf__a" href="#vpf-home" data-p="home" aria-current="page">Home</a>
      <a class="vpf__a" href="#vpf-diensten" data-p="diensten">Diensten</a>
      <a class="vpf__a" href="#vpf-contact" data-p="contact">Contact</a>
    </nav>
  </div>
  <div class="vpf__main">
    <div class="vpf__page" data-p="home">
      <span class="vpf__kick">Tuinaanleg · Haarlem en omgeving</span>
      <h3 class="vpf__h" tabindex="-1">Een tuin die bij je huis past.</h3>
      <p class="vpf__p">Ontwerp, aanleg en onderhoud door één vaste ploeg. Tuinadvies aan huis is gratis.</p>
      <a class="vpf__btn" href="#vpf-diensten" data-p="diensten">Bekijk diensten</a>
    </div>
    <div class="vpf__page" data-p="diensten" hidden>
      <span class="vpf__kick">Diensten en tarieven 2026</span>
      <h3 class="vpf__h" tabindex="-1">Wat we doen</h3>
      <dl class="vpf__dl">
        <div><dt>Tuinontwerp met 3D-schets</dt><dd>vanaf € 450</dd></div>
        <div><dt>Bestrating leggen</dt><dd>€ 68 per m²</dd></div>
        <div><dt>Onderhoud op afspraak</dt><dd>€ 52 per uur</dd></div>
      </dl>
    </div>
    <div class="vpf__page" data-p="contact" hidden>
      <span class="vpf__kick">Contact</span>
      <h3 class="vpf__h" tabindex="-1">Kom langs of bel ons</h3>
      <p class="vpf__p">Kleverlaan 112, 2023 JK Haarlem<br>023 123 4567 · tuin@voorbeeld.nl<br>ma t/m vr 08:00 tot 17:00</p>
    </div>
  </div>
  <span class="vpf__sr" aria-live="polite"></span>
</div>
</div>

More navigation & menus

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →