Reservvärden och var()
Ange reservvärden i var() när en anpassad egenskap är odefinierad eller ogiltig.
Reservvärden och var() är en gratis lektion i CSS Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för CSS Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i CSS Academy innehåller totalt 4 lektioner.
Syntax för reservvärde i var()
Funktionen var() accepterar ett valfritt andra argument som reservvärde, vilket används när den anpassade egenskapen inte är definierad.
<button class="button">Fallback: royalblue</button>
När reservvärden används
Reservvärdet används när:
- egenskapen inte är definierad i omfånget
- egenskapen har värdet
initial - egenskapen deklarerades med ett ogiltigt värde i sitt sammanhang
Flera nivåer av reservvärden
Nästla var()-anrop för att skapa flera nivåer av reservvärden:
<p class="text">Falls through two levels to #3b82f6</p>
Reservvärdet kan vara vilket värde som helst
Reservvärden kan vara vilket giltigt värde som helst för egenskapen – inklusive andra variabler, beräknade värden eller literaler:
<div class="card">16px / 50%</div>
Nyckelordet initial
Om du anger initial för en anpassad egenskap blir resultatet detsamma som om den aldrig hade angetts. Tillsammans med reservvärden gör detta att komponenter kan välja bort en ärvd anpassad egenskap.
<div class="no-theme">
<button class="button">Falls back to gray</button>
</div>
Garanterat ogiltigt värde
Att använda initial som värde för en anpassad egenskap är en teknik för att garantera att reservvärdet aktiveras. Det kan skapa valfria funktionsflaggor i CSS.
Anpassad egenskap + @property
Regeln @property (Houdini) registrerar en typad anpassad egenskap med ett garanterat initialvärde. Det är robustare än att förlita sig på reservvärden.
<div class="track">
<div class="bar"></div>
</div>
Reservvärden som är säkra för animering
Säkerställ att övergångar fungerar även när en anpassad egenskap inte har angetts genom att tillhandahålla ett säkert reservvärde som övergången kan utgå från:
<div class="modal">Modal shown via --modal-opacity: 1 (fallback is 0 when unset)</div>
Felsöka saknade variabler
Om en anpassad egenskap saknas och inget reservvärde har angetts beräknas egenskapen till sitt initialvärde (ofta nyckelordet initial). För färger kan detta ge oväntade resultat i form av genomskinlighet eller svart färg. Lägg alltid till reservvärden för kritiska egenskaper.
var() i anpassade egenskaper
Värden för anpassade egenskaper kan själva referera till andra anpassade egenskaper och på så sätt skapa en kedja av tokens:
<div class="swatch swatch-primary"></div>
<div class="swatch swatch-light"></div>
Reservvärden och specificitet
Reservvärden har inget med specificitet att göra – de används endast när den refererade anpassade egenskapen är odefinierad eller ogiltig. Specificiteten avgör vilken regel som anger den anpassade egenskapen, inte vilket reservvärde som används.
Snabbkontroll
Vad gör color: var(--theme-text, #111) när --theme-text inte är definierad?
Sammanfattning
var(--name, fallback) tillhandahåller ett reservvärde när den anpassade egenskapen inte är definierad. Reservvärden kan nästlas för flera nivåer. Använd @property för typade anpassade egenskaper med garanterade initialvärden. Ange alltid reservvärden för kritiska visuella egenskaper.
Lär dig CSS med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 40
- Lektioner
- 159
Vanliga frågor
Är lektionen ”Reservvärden och var()” gratis?
Ja – hela texten till ”Reservvärden och var()” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i CSS Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i CSS Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Reservvärden och var()”?
Ange reservvärden i var() när en anpassad egenskap är odefinierad eller ogiltig. Ni övar på CSS Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig CSS Academy?
Du behöver inga förkunskaper. Utbildningen i CSS Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Reservvärden och var()”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här CSS Academy-lektionen?
Ja. Varje CSS Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Deklarera och använda anpassade egenskaper
- Reservvärden och var()
- Avgränsa variabler till komponenter
- Uppdatera variabler med JavaScript