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

Tabs met glijdende onderstreping New

Product tabs where the orange underline glides to the new tab and the content slides in the direction of your click. One View Transition for both line and panel (with types for direction); without support everything jumps instantly. Keyboard: arrows, Home and End. If the tabs are real pages: @view-transition { navigation: auto; } and the same view-transition-name on the line and the panel on every page.

Hybride warmtepomp 4 kW€ 4.295 incl. montage

Werkt samen met je huidige cv-ketel en neemt het grootste deel van de verwarming over.

Gemiddeld 60% minder gas in een tussenwoning uit de jaren zeventig. Installatie in één dag, de buitenunit hangt aan de gevel of staat op een tegel.

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.
<!-- Tabs met glijdende onderstreping · NedDev · eigen werk. -->
<div class="jouw-container">
<!-- De streep is één element dat in de actieve tab wordt geplaatst; met view-transition-name: vtb-ind laat de browser hem glijden.
  Tabs als losse pagina's (/product/specificaties): @view-transition { navigation: auto; } en op elke pagina de streep met
  view-transition-name: vtb-ind en het paneel met vtb-panel. Richting via pagereveal + e.viewTransition.types.add('vtb-rechts').
  Reduced motion: @media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } } -->
<div class="vtb">
  <div class="vtb__head"><span class="vtb__kick">Hybride warmtepomp 4 kW</span><span class="vtb__price">€ 4.295 incl. montage</span></div>
  <div class="vtb__list" role="tablist" aria-label="Productinformatie">
    <button class="vtb__tab" role="tab" type="button" id="vtb-t1" aria-controls="vtb-p1" aria-selected="true">Overzicht<span class="vtb__ind" aria-hidden="true"></span></button>
    <button class="vtb__tab" role="tab" type="button" id="vtb-t2" aria-controls="vtb-p2" aria-selected="false" tabindex="-1">Specificaties</button>
    <button class="vtb__tab" role="tab" type="button" id="vtb-t3" aria-controls="vtb-p3" aria-selected="false" tabindex="-1">Reviews <span class="vtb__score">8,6</span></button>
  </div>
  <div class="vtb__panels">
    <div class="vtb__panel" role="tabpanel" id="vtb-p1" aria-labelledby="vtb-t1" tabindex="0">
      <p class="vtb__lead">Werkt samen met je huidige cv-ketel en neemt het grootste deel van de verwarming over.</p>
      <p class="vtb__p">Gemiddeld 60% minder gas in een tussenwoning uit de jaren zeventig. Installatie in één dag, de buitenunit hangt aan de gevel of staat op een tegel.</p>
    </div>
    <div class="vtb__panel" role="tabpanel" id="vtb-p2" aria-labelledby="vtb-t2" tabindex="0" hidden>
      <dl class="vtb__dl"><div><dt>Vermogen</dt><dd>4,0 kW</dd></div><div><dt>Geluid op 3 m</dt><dd>38 dB(A)</dd></div><div><dt>SCOP bij 35 °C</dt><dd>4,6</dd></div><div><dt>Subsidie</dt><dd>ISDE mogelijk</dd></div></dl>
    </div>
    <div class="vtb__panel" role="tabpanel" id="vtb-p3" aria-labelledby="vtb-t3" tabindex="0" hidden>
      <p class="vtb__rev"><b class="vtb__cijfer">9</b>"Monteurs waren om vier uur klaar en hebben alles netjes afgewerkt. Ons gasverbruik is bijna gehalveerd."</p>
      <p class="vtb__who">Karin, Apeldoorn · gemiddeld 8,6 uit 214 beoordelingen</p>
    </div>
  </div>
</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 →