İçeriğe geç

CSS Değişkenleri

Renk, boyut, boşluk, font adı veya başka herhangi bir scalar CSS değeri tanımlar.


--isim: değer; söz dizimiyle tanımlanır.

--primary: #2060ff;
--radius: 6px;
--font-base: 16px;
--theme: light;

Bu değişkenler derleme sonucunda final CSS'te :root bloğuna taşınır. Tarayıcıda canlı CSS custom property olarak kalırlar.

--primary: #2060ff;
--radius: 6px;
.btn {
background: var(--primary);
border-radius: var(--radius);
}

Üretilen CSS:

:root {
--primary: #2060ff;
--radius: 6px;
}
.btn {
background: var(--primary);
border-radius: var(--radius);
}

--spacing: 8px;
--brand: #2060ff;
--surface: #f4f6fb;
.card {
padding: var(--spacing);
background: var(--surface);
border: 1px solid var(--brand);
}

Üretilen CSS:

:root {
--spacing: 8px;
--brand: #2060ff;
--surface: #f4f6fb;
}
.card {
padding: var(--spacing);
background: var(--surface);
border: 1px solid var(--brand);
}

Değer değişkeni selector parçası olarak da kullanılabilir. Bu genişleme derleme zamanında yapılır.

--theme: light;
--primary: #2060ff;
.btn-&var(--theme) {
color: var(--primary);
}

Üretilen CSS:

:root {
--theme: light;
--primary: #2060ff;
}
.btn-light {
color: var(--primary);
}

--color-brand: #2060ff;
--color-surface: #f4f6fb;
--color-text: #1a1a2e;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 24px;
.hero {
background: var(--color-surface);
color: var(--color-text);
padding: var(--space-lg);
}
.btn {
background: var(--color-brand);
color: var(--color-surface);
padding: var(--space-sm) var(--space-md);
}