Over CSS vendor-prefixes

Dit verhaal is door de tijd ingehaald. De ondersteuning van CSS door de moderne browsers is inmiddels zo goed, dat prefixes niet meer nodig zijn. Voorlopig blijft blijft het hier staan omdat prefixes nog steeds in (wat oudere) websites worden gebruikt. Dit verhaal wordt nog gewoon onderhouden.

Een CSS vendor-prefix, meestal CSS-prefix, maar ook wel browser-prefix genoemd, is een manier om een nieuwe CSS-eigenschap in te bouwen in een browser, als die eigenschap nog niet in een standaard is opgenomen. CSS-prefixes worden ook gebruikt als een eigenschap al wel in de standaard staat, maar nog niet in de browsers definitief is ingebouwd.
Het geeft de browserfabrikanten de mogelijkheid om zo'n eigenschap in hun browser op te nemen zonder de standaard geweld aan te doen.

Dit verhaal is opgezet voor recente versies van de meest gebruikte browsers. Het werkt niet met Internet Explorer 9 en eerder.

De CSS-prefixes zijn:

Als je een geavanceerde CSS-eigenschap wilt toepassen in je webdocument, zet je die eigenschap in de meeste gevallen in je CSS en zet je voor elke browser de prefixes er boven. Houd daarbij de bovenstaande volgorde aan.

Je kun er niet van uit gaan dat de syntax van een CSS-eigenschap met prefix gelijk is aan de syntax volgens de standaard. Ook kan het gebeuren dat de syntax verandert met een nieuwe versie van de render-motor.

Hieronder wordt als voorbeeld de code gegeven voor een (horizontaal) lineair verloop van rood naar geel. Let op de dubbele declaratie voor Webkit: de eerste is de oudste en die is nodig voor tablets en smartphones die onder iOS werken. De tweede is voor Chrome en Opera.

<div id="Voorbeeld"></div>
 
<style>
#Voorbeeld {
  position:relative; margin:10px auto; width:400px; height:40px;
    border:1px solid black;
  background:-moz-linear-gradient(left, #f88 0%, #ff8 100%);
  background:-webkit-gradient(linear, left top, right top,
    color-stop(0%,#f88), color-stop(100%,#ff8));
  background:-webkit-linear-gradient(left, #f88 0%, #ff8 100%);
  background:-ms-linear-gradient(left, #f88 0%, #ff8 100%);
  background:linear-gradient(left, #f88 0%, #ff8 100%);
}
</style>

Opmerking:
 
De noodzaak voor het gebruik van vendor-prefixes neemt snel af. Zie het item CSS-properties die (nog) een vendor-prefix nodig hebben.

 
terug

html-391; Laatste wijziging: 31 maart 2022