Vloeiende CSS-aanpassingen door “transition” header image

Vloeiende CSS-aanpassingen door “transition”

Het is met CSS al tijden mogelijk om veranderingen te laten plaatsvinden bij bijvoorbeeld mouse-hover. Maar sinds CSS3 is het ook mogelijk om alle veranderingen in soepele ‘transities’ te laten plaatsvinden. In deze blog worden een paar voorbeelden gegeven van mogelijke CSS3-transities.

“Transition” toepassen in CSS3

Wanneer een transitie gebruikt moet worden in CSS, kan de volgende regel toegevoegd worden:

.element {
    transition: [transition-property] [transition-duration] [transition-timing-function] [transition-delay];
}

transition-property: Hier komt het attribuut dat geanimeerd moet worden. Denk hierbij aan top, color, font-size, etc.

transition-duration: hier wordt de duur van de transitie aangegeven in seconden of milliseconden.

transition-timing-function: aan deze parameter kan meegegeven worden wat de snelheid van de transitie moet zijn. Bijvoorbeeld linear, ease-in-out, etc. Op de volgende site staan alle mogelijkheden: http://www.w3schools.com/css/css3_transitions.asp. Deze parameter is niet verplicht.

transition-delay: hiermee kan een vertraging meegegeven worden aan de transitie. Ook deze parameter is niet verplicht

Cross-browser transities

Voordat er voorbeelden genoemd worden, is het belangrijk om te weten dat “transition” niet (direct) voor alle browsers werkt. Om ervoor te zorgen dat de meeste browsers gebruik kunnen maken, moet er voor de transition een “prefix” geplaatst worden. Zie hieronder een voorbeeld hiervan:


-webkit-transition: background-color 500ms ease-out 1s; /* Chrome, Safari, nieuwe versies van Opera. */
-moz-transition: background-color 500ms ease-out 1s; /* Firefox */
-o-transition: background-color 500ms ease-out 1s; /* Oudere versies van Opera */
transition: background-color 500ms ease-out 1s;

Normaal moet voor microsoft de prefix “-ms-” toegevoegd worden, maar transition wordt vanaf IE10 ondersteund.

Transities in beweging

In CSS kunnen dom-elementen verplaatst worden door middel van top, bottom, left en right. Wanneer de één van deze attributen wordt gewijzigd, springt het dom-element naar een andere positie. Met transitie zullen deze ‘bewegingen’ soepel verlopen. Met de onderstaande code beweegt een vierkant blok 40 pixels naar beneden bij hover.


<div id=”moveObject”></div>

#moveObject {
  width: 50px;
  height: 50px;
  position: relative;
  display: block;
  background-color: red;
  top: 0px;
  left: 40px;
  -webkit-transition: top .2s;
  -moz-transition: top .2s;
  -o-transition: top .2s;
  transition: top .2s;
}

#moveObject:hover {
  top: 40px;
}

Transities met meerdere attributen

Om een transitie op meerdere attributen toe te passen, kunnen deze door middel van komma’s toegevoegd worden. Hieronder is het voorbeeld van het vorige hoofdstuk omgebouwd zodat de width én height van het blok aangepast worden.


<div id=”resizeObject”></div>

#resizeObject {
  width: 50px;
  height: 50px;
  display: block;
  background-color: red;
  -webkit-transition: width .2s, height .2s;
  -moz-transition: width .2s, height .2s;
  -o-transition: width .2s, height .2s;
  transition: width .2s, height .2s;
}

Transitie op alle attributen

Als laatste kan er met de transition-property “all” alle attributen geanimeerd worden. Dit is handig wanneer een dom-element in zijn geheel aangepast moet worden. Deze code ziet er dan als volgt uit:


-webkit-transition: all .2s;
-moz-transition: all .2s;
-o-transition: all .2s;
transition: all .2s;

 


Andere blogartikelen

De kracht van personalisatie in B2B Leadgeneratie
De kracht van personalisatie in B2B Leadgeneratie

03 November 2023

Hoe u uw B2B klanten kunt nurturen en uw verkoop kunt stimuleren
Hoe u uw B2B klanten kunt nurturen en uw verkoop kunt stimuleren

20 October 2023

Creëer synergie tussen B2B SEA en B2B SEO
Creëer synergie tussen B2B SEA en B2B SEO

11 October 2023

Open Nieuwsbrief Inschrijving Footer