CSS-filtergenerator

Volgende

CSS filter past beeldbewerkingseffecten, zoals blur, helderheid, contrast en verzadiging, toe op elk element, niet alleen op afbeeldingen. Bij het aaneenschakelen van meerdere filters en het goed krijgen van de eenheden gaan dingen mis. Deze generator bouwt de filter-declaratie voor de vijf meest gebruikte functies: blur, helderheid, contrast, grijswaarden en verzadiging. Voer uw waarden in en kopieer de gegenereerde CSS.

Zo bouwt u een filterketen

  1. 1

    Voer de waarden in

    Blur in pixels; helderheid, contrast, grijswaarden en verzadiging in procenten.

  2. 2

    Begrijp de schaal

    Helderheid en contrast op 100% betekenen geen verandering; op 0% wordt het element zwart of grijs. Grijswaarden lopen van 0% (volledige kleur) tot 100% (volledig ontkleurd); verzadiging op 100% houdt de kleuren zoals ze zijn.

  3. 3

    Genereer de CSS

    Klik op de knop en de tool levert de gecombineerde `filter`-regel met alle vijf functies.

  4. 4

    Kopieer de regel

    Kopieer het resultaat en plak het in uw stylesheet.

  5. 5

    Controleer de volgorde

    De functies worden van links naar rechts toegepast. Ziet het effect er anders uit dan verwacht, pas dan de waarden aan.

De filterfuncties

Functie Eenheid Effect
blur() px Gaussische vervaging. 0 = geen vervaging
brightness() % of decimaal 100% = geen verandering, 0% = zwart, 200% = dubbel
contrast() % of decimaal 100% = geen verandering, 0% = grijs, 200% = dubbel
saturate() % of decimaal 100% = geen verandering, 0% = grijswaarden
grayscale() % of decimaal 0% = geen verandering, 100% = volledig ontkleurd
sepia() % of decimaal 0% = geen verandering, 100% = volledig sepia
hue-rotate() deg 0deg = geen verandering. Draait het kleurenwiel
invert() % of decimaal 0% = geen verandering, 100% = volledig omgekeerd
opacity() % of decimaal Hetzelfde als de eigenschap opacity
drop-shadow() x y vervaging kleur Net als box-shadow, maar volgt opaciteit/clip-path

De volgorde van ketenen doet ertoe

filter: brightness(0.5) saturate(2) past eerst helderheid toe en daarna verzadiging; de twee filters stapelen op elkaar.

filter: saturate(2) brightness(0.5) past eerst verzadiging toe. Omdat het beeld helderder is voordat het donkerder wordt gemaakt, komt de kleurverzadiging duidelijker uit.

Het visuele verschil is subtiel, maar reëel. Probeer beide volgordes wanneer de filterketen er niet uitziet zoals je verwacht.

Veelgebruikte recepten

/* Vervaagde fotolook */
filter: contrast(0.9) saturate(0.85) brightness(1.05);

/* Vintage / vervaagd */
filter: sepia(0.3) contrast(1.1) brightness(0.95);

/* Duotoonbenadering */
filter: grayscale(1) sepia(1) hue-rotate(180deg) saturate(1.5);

/* Hero-afbeelding verdonkeren */
filter: brightness(0.6);

/* Uitgeschakelde staat */
filter: grayscale(1) opacity(0.6);

/* Matglazen overlay */
filter: blur(12px) saturate(1.3);

backdrop-filter voor matglas

filter geldt voor het element zelf; backdrop-filter geldt voor wat zich achter een halftransparant element bevindt – het matglaseffect dat iOS populair maakte.

.modal-backdrop {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(20px) saturate(1.2);
}

Ondersteuning: alle moderne browsers; Firefox ondersteunt het sinds versie 103 eindelijk zonder vlag.

Prestatietips

  • blur() is het duurste filter, omdat elke pixel met een kernel moet worden geconvolueerd. Een vervaging van 30px op een 4K-hero-afbeelding kost echte beeldframes.
  • grayscale, sepia, brightness en dergelijke zijn kleurtransformaties per pixel – goedkoop.
  • In moderne browsers worden filters door de GPU versneld, maar het animeren van blur() hapert nog steeds op zwakkere apparaten.
  • Stel bij voorkeur will-change: filter in voordat je animeert.

filter: drop-shadow() versus box-shadow

  • box-shadow volgt de border-box van het element (respecteert border-radius).
  • filter: drop-shadow() volgt de niet-transparante pixels van het element, en tekent dus de vormen van clip-path, de transparantie van PNG en de contouren van SVG na.

Gebruik drop-shadow voor schaduwen op bijgesneden of transparante afbeeldingen; voor gewone kaarten en vakken is box-shadow sneller.

Veelgestelde vragen

Ja – het filter wordt als groep toegepast op het element en al zijn nakomelingen. Als je een ouder-element filtert, worden de onderliggende elementen meegenomen. Wil je alleen de achtergrond van het ouder-element filteren, plaats de inhoud dan in een aparte stapelcontext of gebruik backdrop-filter.

Omdat de vervaging op het hele element wordt toegepast, inclusief de gerenderde tekst. Met alleen een gewone filter kun je de achtergrond niet vervagen terwijl de tekst scherp blijft. Gebruik backdrop-filter op een halftransparante overlay en houd de tekst buiten het gefilterde element.

Ja, alle filterfuncties zijn te animeren. Let op de prestaties van vervaging op mobiel: het animeren van de vervagingsradius is merkbaar duur. grayscale, sepia en brightness animeren goedkoop.

Ja, CSS filter wordt op SVG-elementen toegepast op dezelfde manier als op alle andere DOM-elementen. SVG beschikt eveneens over een eigen, uitgebreider systeem van <filter>-elementen; dit systeem is krachtiger, maar veel uitgebreider in zijn structuur.

Gerelateerde tools

Tool beschikbaar in andere talen