Marknaden
Priser
Logga inKom igång
FältguidenCSS och webb
CSS och webb

CSS text-shadow: syntax, exempel och bättre alternativ

text-shadow är en liten egenskap med stort rykte för att rädda oläsliga rubriker. Den är bättre på dekoration än på räddning. Här är syntaxen, en handfull stilar värda att kopiera och vad du ska använda när läsbarheten är det verkliga problemet.

GradientlyVerifierat Gradiently-konto·1 oktober 2026·5 minuters läsning
Omslag: Sapphire Casino · GR·N417·BV

Kortversionen

  • CSS-egenskapen text-shadow tar en horisontell förskjutning, en vertikal förskjutning, en valfri suddighetsradie och en färg.
  • Flera skuggor kan staplas på en och samma text genom att separera dem med kommatecken, och den som står först ritas överst.
  • Till skillnad från box-shadow har text-shadow inget spridningsvärde och inget inset-nyckelord.
  • Hårda förskjutna skuggor utan oskärpa är den mest användbara dekorativa stilen, från retrorubriker till långa skuggor.
  • En mjuk mörk skugga är en svag lösning för text över en rörig bild; en scrim, en mörkare bild eller en lugnare bakgrund gör jobbet ordentligt.
På den här sidan
text-shadow-syntaxText-shadow-exempel värda att kopieraVarför en mjuk skugga är en svag lösning för läsbarhetBättre alternativ för text på bilder och gradienterText-shadow på gradienttextPrestanda och animation

En CSS text-shadow skrivs text-shadow: 2px 2px 4px rgb(0 0 0 / 0.4): en horisontell förskjutning, en vertikal förskjutning, en valfri suddighetsradie och en färg. Separera flera skuggor med kommatecken för att stapla dem. Den är utmärkt för dekorativa effekter som skarpa förskjutna rubriker, långa skuggor och falska konturer. Den är ett dåligt verktyg för att göra text läsbar över ett rörigt foto, och de bättre alternativen för det finns längre ner.

text-shadow-syntax

css
/* offset-x | offset-y | blur-radius | color */
h1 { text-shadow: 2px 3px 6px rgb(0 0 0 / 0.35); }

/* No blur: a hard copy of the letters */
h1 { text-shadow: 3px 3px 0 #f97316; }

/* Colour first is also valid */
h1 { text-shadow: #f97316 3px 3px; }

/* Several shadows: the first is drawn on top */
h1 { text-shadow: 2px 2px 0 #fde68a, 4px 4px 0 #f97316; }

/* Remove an inherited shadow */
h1 { text-shadow: none; }
Hela grammatiken på fem rader. Längder kan vara negativa för att kasta skuggan uppåt eller åt vänster.
Horisontell förskjutning

Obligatorisk

Ja

Vad den gör

Positivt flyttar skuggan åt höger, negativt åt vänster
Vertikal förskjutning

Obligatorisk

Ja

Vad den gör

Positivt flyttar den nedåt, negativt uppåt
Suddighetsradie

Obligatorisk

Nej

Vad den gör

Standard är 0, en hård kant. Kan inte vara negativ
FärgNej

Vad den gör

Standard är textfärgen, currentcolor
DelObligatoriskVad den gör
Horisontell förskjutningJaPositivt flyttar skuggan åt höger, negativt åt vänster
Vertikal förskjutningJaPositivt flyttar den nedåt, negativt uppåt
SuddighetsradieNejStandard är 0, en hård kant. Kan inte vara negativ
FärgNejStandard är textfärgen, currentcolor
Här finns ingen spridning och inget inset. De hör till box-shadow, som skuggar elementets ruta i stället för dess bokstäver.

Skuggan målas bakom texten och tar form av varje tecken, inklusive understrykningar och dekorationer. Den ändrar inte layouten: en stor förskjutning kan sticka ut utanför elementet och överlappa grannar utan att knuffa bort dem, så lämna utrymme med utfyllnad om skuggan är stor.

Text-shadow-exempel värda att kopiera

Stilarna som håller är de med hårda kanter. En skugga utan oskärpa läses som ett medvetet grafiskt val; en mjuk grå oskärpa under brödtext tenderar att läsas som ett misstag.

css
/* 1. Subtle lift for large display type on a light page */
.lift { text-shadow: 0 1px 0 rgb(255 255 255 / 0.6), 0 2px 3px rgb(15 23 42 / 0.18); }

/* 2. Retro offset in a second colour */
.retro { color: #1e1b4b; text-shadow: 4px 4px 0 #f472b6; }

/* 3. Double offset, poster style */
.double { color: #fff7ed; text-shadow: 3px 3px 0 #f97316, 6px 6px 0 #7c2d12; }

/* 4. Long shadow: many 1px steps */
.long {
  color: #fef3c7;
  text-shadow: 1px 1px 0 #b45309, 2px 2px 0 #b45309, 3px 3px 0 #b45309,
    4px 4px 0 #b45309, 5px 5px 0 #b45309, 6px 6px 0 #b45309,
    7px 7px 0 #b45309, 8px 8px 0 #b45309;
}

/* 5. Pressed in: a light edge below dark text on a mid tone */
.pressed { color: #334155; text-shadow: 0 1px 0 rgb(255 255 255 / 0.45); }
Fem stilar som fungerar. Den långa skuggan är bara samma hårda skugga upprepad en pixel längre varje gång.

Retroförskjutningar och långa skuggor behandlas visuellt i retro-texteffekter och 3D-texteffekter. För en ren kontur, föredra -webkit-text-stroke med paint-order: stroke fill framför det gamla tricket med fyra skuggor vid varje hörn, som lämnar luckor på kurvor; konturtext visar båda.

Färgerna bakom retro-exemplet och exemplet med dubbel förskjutning. Förskjutna skuggor fungerar bäst när skuggfärgen tydligt skiljer sig från bokstäverna, inte är en mörkare kopia av dem.

Varför en mjuk skugga är en svag lösning för läsbarhet

Det vanliga bruket av text-shadow är en mörk oskärpa bakom vit text över ett foto, i hopp om att skilja de två åt. Den hjälper lite vid kanterna på varje bokstav och gör ingenting för utrymmet inuti dem, där fotot fortfarande syns med full styrka. Skruva upp oskärpan och opaciteten tills det fungerar så får du en fläck runt varje ord. Sken runt text, ljusa eller mörka, ser daterade ut och misslyckas ändå på bildens ljusaste partier.

Kontrastverktyg ignorerar dessutom skuggor. De mäter textfärgen mot bakgrundsfärgen, så en rubrik som bara klarar sig tack vare sin skugga flaggas i en granskning, och med rätta. Tröskelvärdena finns i färgkontrast och tillgänglighet.

Skugga som kryckla

  • Suddig svart gloria bakom vit text
  • Misslyckas överallt där bilden är ljusast
  • Kontrastverktyg rapporterar fortfarande fel
  • Grumliga kanter på liten text

Fixa bakgrunden

  • En gradientscrim under orden
  • Mörkna eller avmätta bilden
  • Flytta texten till det lugnaste området
  • Välj en bakgrund gjord för att bära ord

Bättre alternativ för text på bilder och gradienter

En scrim är en gradient som bara mörkar den del av bilden som ligger bakom texten, och tonar ut till ingenting på andra ställen. Den håller fotot ljust där det spelar roll och ger varje bokstav samma lugna underlag. Gradientöverlägg i CSS går igenom lagringen i sin helhet.

Scrim i botten för bildtexterlinear-gradient(to top, rgb(2 6 23 / 0.78) 0%, rgb(2 6 23 / 0.45) 35%, rgb(2 6 23 / 0) 70%)
Mörk längst ner, klar två tredjedelar upp. Lägg den över ett foto och sätt bildtexten i den nedre tredjedelen.
css
.card {
  background-image:
    linear-gradient(to top, rgb(2 6 23 / 0.78), rgb(2 6 23 / 0) 70%),
    url("/images/harbour.jpg");
  background-size: cover;
  background-position: center;
  color: #f8fafc;
}
Scrimen som översta bakgrundslager, fotot under. Ingen skugga behövs på texten.

Andra pålitliga alternativ: kör bilden genom filter: brightness(0.75) på ett eget lager, beskär så att orden hamnar på himmel eller vägg i stället för detaljer, eller sätt texten på ett fast band. Text över bilder går igenom vart och ett med exempel.

Från torsdag
Sensommarens meny.
Gradiently · @gradiently

Ljusa ord över bakgrundens ljusaste del. En skugga skulle bara sudda ut problemet.

Från torsdag
Sensommarens meny.
Gradiently · @gradiently

Bakgrunden fördjupas i stället bakom raden, så orden läses utan någon effekt på dem.

Det här är precis vad Gradiently-Marks gör av sig själva: det lugnaste området flyttar sig bakom dina ord och Auto-bläck väljer ljus eller mörk text rad för rad, utan skugga, ruta eller oskärpa. När du vill ha skugga som dekoration i stället för reparation ger dess bokstavsbehandlingar som Extrudering, Dubbel och Spår dig förskjutna stilar utan att du skriver en enda skugga.

Text-shadow på gradienttext

Gradienttext görs med background-clip: text och en genomskinlig textfärg. Lägg till en text-shadow på den så syns skuggan rakt igenom de genomskinliga bokstäverna och grumlar gradienten inifrån. Lösningen är att skugga elementet i stället: filter: drop-shadow(3px 3px 0 #1e1b4b) följer bokstävernas målade form och ligger bakom dem. Själva tekniken beskrivs i gradienttext i CSS.

En skugga per drop-shadow()

drop-shadow() tar en skugga per funktion, men du kan kedja flera: filter: drop-shadow(2px 2px 0 #f97316) drop-shadow(2px 2px 0 #7c2d12). Var och en skuggar resultatet av den förra.

Prestanda och animation

Hårda skuggor är billiga. Stora oskärperadier på långa textpartier kostar mer att måla, och att animera text-shadow målar om texten vid varje bildruta. Om du vill att en rubrik ska animeras, flytta den med transform och låt skuggan ligga still.

Designa med en levande gradient

Inlägg, stories, presentationer och banners i alla storlekar, med text som alltid går att läsa.

Börja designa, gratis

Vanliga frågor

Vilken syntax har text-shadow i CSS?

text-shadow: offset-x offset-y blur-radius color, till exempel 2px 2px 4px #000. Bara de två förskjutningarna är obligatoriska.

Kan jag lägga till mer än en text-shadow?

Ja. Separera skuggorna med kommatecken. Den första i listan målas överst.

Har text-shadow ett spridningsvärde?

Nej. Spridning och inset finns bara för box-shadow. För att göra en textskugga tjockare, stapla flera skuggor med små förskjutningar.

Förbättrar text-shadow tillgängligheten?

Inte pålitligt. Kontrastkontroller ignorerar skuggor, så texten måste nå den kontrast som krävs mot sin bakgrund utan en.

Hur gör jag vit text läsbar på ett foto utan text-shadow?

Lägg en mörk gradientscrim bakom textområdet, mörkna bilden eller placera orden över en lugn del av fotot.

Dela den här guiden

Skriven av GradientlyVerifierat Gradiently-konto

Teamet bakom Gradiently, ett designverktyg byggt kring Marks: levande gradienter som får allt du gör att kännas som ditt.

Se vår profil

På den här sidan

text-shadow-syntaxText-shadow-exempel värda att kopieraVarför en mjuk skugga är en svag lösning för läsbarhetBättre alternativ för text på bilder och gradienterText-shadow på gradienttextPrestanda och animation

Dela den här guiden

Nästa i CSS och webb

CSS box shadow: mjuka skuggor i lager som ser verkliga ut

Läs vidare

Alla guider om CSS och webb
Typografi och text

Textskugga: när den hjälper och bättre alternativ

5 minuters läsning

Släpskuggan är den vanligaste lösningen på oläsbar text och ett av de snabbaste sätten att få en design att se daterad ut. Här är när en skugga är rätt val, och vad du ska ta till resten av tiden.

Typografi och text

Text över bild: sju sätt att hålla orden läsbara

5 minuters läsning

Ett foto som ser fantastiskt ut för sig själv kan sluka vilken rubrik du än lägger på det. De här sju teknikerna håller orden läsbara utan att gömma bilden bakom en ruta.

CSS och webb

Gradientöverlägg i CSS: tona och mörkna bilder på rätt sätt

4 minuters läsning

Att lägga en gradient över ett foto kräver en extra rad CSS. Vilken av tre metoder du väljer avgör om bilden laddas snabbt, om överlägget kan animeras och om orden ovanpå förblir läsbara.

Hitta looken som bara är din.

Varje Mark är en levande bakgrund med en enda ägare. Prova en ledig Mark och säkra din när det känns rätt.

Börja designa

Kontrollera ett certifikat

Skriv ett certifikatnummer eller en Marks kod för att se vem som äger den.

Fungerar med ChatGPT och Claude

Be din AI om en design. Den skapar den i din Mark, redo att redigera.

ChatGPTClaude
Så ansluter du

Produkt

  • Marknaden
  • Utforska
  • Priser
  • Certifikat

Lär dig

  • Fältguiden
  • Hjälpcenter
  • Nyheter

Utvecklare

  • Översikt
  • ChatGPT och Claude
  • API-referens
  • API-nycklar

Företaget

  • Om oss
  • Kontakta oss
  • Logga in

Juridik

  • Villkor
  • Integritet
  • Återbetalningar
  • Mark-skydd
  • Cookies
  • Alla policyer
Rör dig över bokstäverna. Var och en bär en riktig Mark.Tryck på en bokstav för att se dess Mark.Ett namn. Tio Marks inuti.
© 2026 Gradiently