Tema Değiştirme için CSS Değişkenleri
CSS özel özellikleriyle eksiksiz bir renk paleti tanımlayıp bir veri özniteliğini değiştirerek temalar arasında geçiş yapın
Tema Değiştirme için CSS Değişkenleri, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
:root Üzerinde Renk Belirteçlerini Tanımlama
:root üzerinde tanımlanan CSS özel özellikleri (değişkenler), stil sayfasının tamamında kullanılabilir. Eksiksiz bir renk paletini (arka planlar, metin renkleri, yüzeyler, kenarlıklar) bir kez tanımlayıp her yerde kullanırsınız. Bu tek doğruluk kaynağı, tema değiştirmeyi çok kolaylaştırır.
data-theme ile Koyu Tema Geçersiz Kılmaları
data-theme="dark" özniteliği document.documentElement üzerinde ayarlandığında, [data-theme='dark'] gibi bir CSS seçicisi kök değişkenleri koyu değerlerle geçersiz kılar. Bileşenler var(--color-bg) başvurularını kullanır ve herhangi bir kod değişikliği olmadan yeni değerleri otomatik olarak alır.
Tanımlanması Gereken Temel Değişkenler
En azından şunları tanımlayın: --color-bg (sayfa arka planı), --color-text (ana metin), --color-primary (marka rengi), --color-surface (kart/panel arka planı) ve --color-border (ayırıcılar). Tutarlı bir belirteç kümesi, bileşenlerde gelişigüzel renk değerlerinin kullanılmasını önler.
Bileşen Stillerinde Değişkenleri Uygulama
Bileşen CSS'nizde background: var(--color-bg) ve color: var(--color-text) gibi değişkenlere başvurun. Ayrıca bir yedek değer sağlayabilirsiniz: var(--color-bg, #ffffff). Tarayıcı değişkeni boyama sırasında çözümler; bu nedenle tek bir sınıf hem açık hem de koyu temalarda çalışır.
Değiştirme Sırasında Akıcı Geçiş
:root seçicisine transition: background-color 200ms, color 200ms ekleyin. data-theme özniteliği değiştiğinde, CSS değişkenlerini kullanan tüm öğeler yeni değerlerine aynı anda geçiş yapar. Bu, herhangi bir JS animasyon kodu olmadan özenli bir görünüm oluşturur.
CSS Değişkenleri ve JS ile Denetlenen Satır İçi Stiller
Temayı CSS değişkenleriyle yönetmek, JavaScript'ten satır içi stiller ayarlamaktan daha üstündür. Tarayıcı tüm stil yeniden hesaplamalarını yerel olarak yönetir, temalandırılmış her alt bileşen için tetiklenen ek React yeniden oluşturmaları olmaz ve CSS kaskadı kalıtımı otomatik olarak yönetir. JS'nin tek yapması gereken kök öğede bir özniteliği değiştirmektir.
prefers-color-scheme ile OS Düzeyinde Yedek Çözüm
CSS değişkenlerini @media (prefers-color-scheme: dark) sorgusuyla yalnızca CSS kullanan bir yedek çözüm olarak birleştirebilirsiniz. Koyu geçersiz kılmaları, data-theme seçicisine ek olarak veya onun yerine medya sorgusunun içinde tanımlayın. Böylece JavaScript henüz çalışmamış olsa bile koyu modun çalışması sağlanır.
data-theme ile Medya Sorgusu Yedeğini Birleştirme
En sağlam yaklaşım, her iki mekanizmayı katmanlandırır: @media sorgusu işletim sistemi varsayılanını sağlarken, data-theme özniteliği JavaScript üzerinden kullanıcı geçersiz kılmasına izin verir. Öznitelik mevcut olduğunda özgüllüğü nedeniyle öncelik kazanır; mevcut olmadığında medya sorgusu devreye girer.
Koyu Mod Görselleri
Koyu arka planlarda kötü görünen görseller için, koyu source media="(prefers-color-scheme: dark)" alt öğesine sahip HTML picture öğesini kullanın. Tarayıcı koyu renkli sürümü otomatik olarak seçer. CSS içindeki SVG simgeleri için hızlı bir yaklaşık çözüm olarak filter: invert(1) kullanabilirsiniz.
Kapsamlandırılmış Tema Değişkenleri
CSS değişkenleri, :root yerine bir bileşenin kök öğesinde tanımlanarak tek tek bileşenlerle de sınırlandırılabilir. Bu, sayfa arka planından farklı kendi arka plan belirtecine sahip bir kenar çubuğu gibi bileşen başına temalandırmayı mümkün kılar; tüm bunlar genel tema değiştiricisiyle yine doğru şekilde değişir.
DevTools'ta CSS Değişkenlerinde Hata Ayıklama
Chrome DevTools, Stiller panelinde çözümlenmiş CSS değişkeni değerlerini gösterir. Tanımına gitmek için değişken başvurusuna tıklayın. Böylece herhangi bir öğeye doğru koyu veya açık belirtecin uygulanıp uygulanmadığını kolayca doğrulayabilirsiniz. Paneldeki değişken değerlerini canlı olarak da düzenleyebilirsiniz.
Temalandırma için CSS Özel Özellikleri
Tüm belgeye uygulanan genel CSS özel özelliklerini tanımlamak için hangi CSS seçicisi kullanılır?
Ders Özeti: Tema Değiştirme için CSS Değişkenleri
:root üzerindeki CSS özel özellikleri, temalar için merkezi bir belirteç sistemi sağlar. Temaları anında değiştirmek için html öğesinde bir data-theme özniteliğini değiştirin. Akıcı geçiş için CSS geçişleri ekleyin, yalnızca CSS kullanan bir yedek çözüm olarak prefers-color-scheme medya sorgusunu kullanın ve bileşen başına JS stil geçersiz kılmalarından kaçının.
Sıkça Sorulan Sorular
“Tema Değiştirme için CSS Değişkenleri” dersi ücretsiz mi?
Evet — “Tema Değiştirme için CSS Değişkenleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“Tema Değiştirme için CSS Değişkenleri” dersinde ne öğreneceğim?
CSS özel özellikleriyle eksiksiz bir renk paleti tanımlayıp bir veri özniteliğini değiştirerek temalar arasında geçiş yapın React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Tema Değiştirme için CSS Değişkenleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sistem Renk Şemasını Algılama
- Tema Değiştirme için CSS Değişkenleri
- Tema Durumu için React Context
- Temayı Kalıcı Kılma ve Parlamayı Önleme