0Pricing
CSS Academy · Ders

Kapsamlandırılmış Stiller için @scope

@scope kuralıyla CSS kurallarının etkisini belirli alt ağaçlarla sınırlayın.

Kapsamlandırılmış Stiller için @scope, CoddyKit'te ücretsiz bir CSS Academy dersidir. Bu, 4 dersinin 3. 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, CSS Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CSS Academy kursu toplamda 4 dersten oluşur.

@scope Nedir?

@scope at-kuralı (Chrome 118+, Safari 17.4+), CSS kurallarını DOM'un belirli bir alt ağacıyla sınırlar. @scope içindeki kurallar yalnızca bildirilen kapsam kökü içindeki öğelere uygulanır ve stillerin bileşenler arasında sızmasını önler.

Temel Söz Dizimi

Bir kapsam kökü seçicisiyle kapsam bildirin. İçindeki tüm kurallar yalnızca eşleşen kapsam köklerinin alt öğelerine uygulanır; belgenin tamamına uygulanmaz.

<div class="card">
  <div class="title">Scoped Title</div>
  <div class="body">Scoped body text &mdash; styles only apply inside .card.</div>
</div>

Kapsam Kökü

Kapsam kökü (@scope (.card)), giriş noktasını tanımlar. Kapsam içindeki .title ile eşleşen öğeler biçimlendirilir. .card dışındaki, .title sınıfına sahip öğeler etkilenmez; böylece Shadow DOM olmadan gerçek stil yalıtımı sağlanır.

Kapsam Kısıtı (Kapsam Sınırı)

İsteğe bağlı olarak to ile bir kapsam sınırı tanımlayın: @scope (.card) to (.nested-card). Kurallar .card içinde uygulanır, ancak .nested-card alt öğelerinde durur; böylece stiller bileşen iç içe yerleştirmesinin tek düzeyiyle sınırlandırılır ve daha derindeki örnekler kapsam dışında bırakılır.

@scope İçindeki :scope Sözde Sınıfı

Bir @scope bloğunun içinde :scope, kapsam kökü öğesinin kendisini ifade eder. @scope (.card) { :scope { border-radius: 8px; } }, alt öğeleri değil doğrudan .card öğesini biçimlendirir.

Yakınlığa Dayalı Özgüllük

@scope, yakınlığa dayalı özgüllük getirir: birden çok kapsam bir öğeyle eşleştiğinde seçici özgüllüğünden bağımsız olarak en yakın ata kapsam kökü kazanır. Bu, derin iç içe yerleştirilmiş bileşen stillerinin uzaktaki ata kapsamlarından gelen stiller tarafından geçersiz kılınmasını önler.

@scope ve CSS Modülleri

CSS Modülleri, derleme zamanında kapsam elde etmek için benzersiz karma değerli sınıf adları oluşturur — bu, JavaScript paketleyicisinin ilgi alanıdır. @scope ise derleme araçlarına, karma değerli adlara veya çerçeveye özgü söz dizimine gerek kalmadan tarayıcıda yerel olarak kapsam oluşturur — saf CSS.

@scope ve Gölge DOM

Gölge DOM, eksiksiz stil yalıtımı oluşturur — dış stiller içeri nüfuz edemez. @scope ise kısmi yalıtım oluşturur — özgüllükleri yeterince yüksekse dışarıdaki stiller kapsam içindeki öğelere yine de ulaşabilir. @scope, tam yalıtım olmadan bileşen kapsamı oluşturmak için daha hafif bir alternatiftir.

@scope ile Katmanlama

İnce ayrıntılı basamaklandırma denetimi için @scope ile @layer'ı birleştirin: bileşen kapsamındaki stilleri bir bileşen katmanında tanımlayın. Böylece sınıf adlandırma cambazlığına gerek kalmadan hem basamaklandırma sırasını (katmanlar aracılığıyla) hem de stil kapsamını (@scope aracılığıyla) birleştirilebilir biçimde yönetebilirsiniz.

Pratik Kullanım Alanları

Tasarım sistemi bileşenleri: tüm düğme stillerini @scope (.button-group) kapsamına alın; böylece iç düğme stilleri dışarı sızmasın. Araç yalıtımı: üçüncü taraf bir aracın stillerini kapsayıcısıyla sınırlandırarak sayfanın genel stilleriyle çakışmasını önleyin.

Tarayıcı Desteği ve Geri Dönüş

@scope, Chrome 118+, Safari 17.4+ ve Firefox 128+ sürümlerinde desteklenir. Desteklenmeyen tarayıcılarda @scope içindeki stiller yok sayılır — basamaklandırma genel stillere geri döner. Bileşen kapsamının yararlı olduğu ancak kritik olmadığı durumlarda @scope'ı aşamalı geliştirme olarak kullanın.

Bilgi Kontrolü

Geleneksel CSS seçicileriyle tek başına ele alınması zor olan hangi sorunu @scope çözer?

Özet

@scope, CSS kuralı uygulamasını bildirilen bir DOM alt ağacıyla sınırlar ve Gölge DOM veya derleme aracıyla sınıf karma değerleri oluşturmaya gerek kalmadan yerel stil kapsüllemesi sağlar. Kapsam sınırları, yakınlık özgüllüğü ve @layer ile bütünleşmesi, onu saf CSS içindeki bileşen kapsamlı tasarım sistemleri için güçlü bir temel haline getirir.

Sıkça Sorulan Sorular

“Kapsamlandırılmış Stiller için @scope” dersi ücretsiz mi?

Evet — “Kapsamlandırılmış Stiller için @scope” 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 CSS Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CSS Academy kursu toplamda 4 dersten oluşur.

“Kapsamlandırılmış Stiller için @scope” dersinde ne öğreneceğim?

@scope kuralıyla CSS kurallarının etkisini belirli alt ağaçlarla sınırlayın. CSS 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.

CSS Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CSS 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 3. dersidir.

“Kapsamlandırılmış Stiller için @scope” 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 CSS Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CSS 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

  1. Yerel CSS İç İçe Yerleştirme
  2. :has() İlişkisel Sözde Sınıfı
  3. Kapsamlandırılmış Stiller için @scope
  4. View Transitions API'si
← CSS Academy Sayfasına Dön