CSS Türlenmiş Nesne Modeli (OM)
CSS değerleriyle dizeler yerine CSS Türlenmiş OM API'sini kullanarak türlenmiş JavaScript nesneleri olarak çalışın.
CSS Türlenmiş Nesne Modeli (OM), CoddyKit'te ücretsiz bir CSS Academy dersidir. Bu, 4 dersinin 1. 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.
CSS Typed OM Nedir?
CSS Typed Object Model (Typed OM), CSS Houdini projesinin bir parçasıdır. CSS değerlerini düz dizeler yerine tür bilgisine sahip JavaScript nesneleri olarak sunarak daha hızlı değiştirme, daha kapsamlı aritmetik ve tür güvenliği sağlar.
Eski ve Yeni
Geleneksel CSSOM dizeler döndürür; Typed OM ise tür bilgisi içeren nesneler döndürür:
<p id="demo" style="opacity: 0.5;">Typed OM demo element</p>
<p id="output">Reading style values…</p>
<script>
const demo = document.getElementById('demo');
const output = document.getElementById('output');
// Old CSSOM (string)
const oldValue = demo.style.opacity; // '0.5'
// CSS Typed OM (typed object)
const typed = demo.computedStyleMap().get('opacity');
// CSSUnitValue { value: 0.5, unit: 'number' }
output.textContent = 'old (string): "' + oldValue + '" | typed OM: value=' + typed.value + ', unit=' + typed.unit;
</script>
computedStyleMap()
Herhangi bir öğenin hesaplanmış tür bilgili değerlerine erişin:
<div id="box">400px wide box</div>
<p id="output">Reading computed width…</p>
<script>
const box = document.getElementById('box');
const output = document.getElementById('output');
const styles = box.computedStyleMap();
const width = styles.get('width');
console.log(width.value); // 400
console.log(width.unit); // 'px'
output.textContent = 'width.value = ' + width.value + ', width.unit = "' + width.unit + '"';
</script>
Satır İçi Stiller için attributeStyleMap
element.attributeStyleMap aracılığıyla tür bilgili satır içi stil değerlerini ayarlayın ve alın:
<div id="box">Inline-styled box</div>
<p id="output">Setting styles via attributeStyleMap…</p>
<script>
const box = document.getElementById('box');
const output = document.getElementById('output');
box.attributeStyleMap.set('opacity', CSS.number(0.5));
box.attributeStyleMap.set('margin-top', CSS.px(16));
const opacity = box.attributeStyleMap.get('opacity');
output.textContent = 'opacity.value = ' + opacity.value;
</script>
CSS Sayısal Değer Oluşturma Metotları
CSS ad alanı, tür bilgili değerler oluşturmak için oluşturucu metotlar sağlar:
<div id="box">Factory methods demo</div>
<p id="output">Computing…</p>
<script>
const output = document.getElementById('output');
const px = CSS.px(100); // CSSUnitValue(100, 'px')
const percent = CSS.percent(50); // CSSUnitValue(50, 'percent')
const em = CSS.em(1.5); // CSSUnitValue(1.5, 'em')
const number = CSS.number(0.5); // CSSUnitValue(0.5, 'number')
const deg = CSS.deg(180); // CSSUnitValue(180, 'deg')
output.textContent = [px, percent, em, number, deg]
.map(v => v.value + v.unit).join(', ');
</script>
Tür Bilgili Değerler Üzerinde Aritmetik
CSS matematik değerleri, dize birleştirmeye gerek kalmadan JavaScript'te CSS matematik işlemlerini mümkün kılar:
<div id="box">Math on typed values</div>
<p id="output">Calculating…</p>
<script>
const output = document.getElementById('output');
const width = CSS.px(100).add(CSS.percent(10));
// Equivalent to calc(100px + 10%)
const margin = CSS.px(16).mul(2);
// 32px
output.textContent = 'width = ' + width.toString() + ' | margin = ' + margin.value + margin.unit;
</script>
Performans Avantajları
Sık yapılan değişikliklerde (ör. animasyon karelerinde) Typed OM, dize tabanlı CSSOM'dan önemli ölçüde daha hızlıdır. Değerlerin her erişimde dizelerden ayrıştırılması gerekmez — bunlar zaten yapılandırılmış nesnelerdir.
CSS Stil Değeri Türleri
Typed OM değer türleri şunları içerir:
CSSUnitValue: sayı + birim (100px)CSSKeywordValue: anahtar sözcük (auto, none)CSSImageValue: görüntü (url())CSSMathValue: calc ifadeleriCSSColorValue: renk değerleri (deneysel)
Animasyonda Typed OM
Web Animations API'de daha hassas animasyon denetimi için tür bilgili değerleri kullanın:
<div id="box">Animated via Typed OM</div>
<script>
const box = document.getElementById('box');
box.animate(
[{ opacity: CSS.number(0) }, { opacity: CSS.number(1) }],
{ duration: 300, fill: 'forwards' }
);
</script>
Tarayıcı Desteği
CSS Typed OM (1. Düzey), Chrome 66+ ve Edge 79+ sürümlerinde desteklenir. Firefox ve Safari desteği kısmi olabilir veya işaretlerin arkasında bulunabilir. Üretimde kullanmadan önce caniuse.com adresini kontrol edin. API kapsamı büyümeye devam etmektedir.
Typed OM Ne Zaman Kullanılmalı
Typed OM'yi şu durumlarda kullanın:
- CSS Paint veya Layout iş parçacıkları oluştururken (zorunlu)
- JavaScript'te her karede çok sayıda öğeyi canlandırırken
- CSS araçları veya ön işlemciler oluştururken
- CSS değerlerini tür denetimli şekilde değiştirmeniz gerektiğinde
Hızlı Kontrol
element.computedStyleMap().get("width"), getComputedStyle(element).width ile karşılaştırıldığında ne döndürür?
Özet
CSS Typed OM, dize tabanlı CSSOM'nin yerini tür bilgili JavaScript nesneleriyle alır. Okuma erişimi için computedStyleMap(), satır içi stil yazma işlemleri için attributeStyleMap kullanın. CSS oluşturucu metotları (CSS.px(), CSS.percent()) tür bilgili değerler oluşturur. API, dize tabanlı değiştirmeden daha hızlıdır ve Paint ile Layout iş parçacıkları için gereklidir.
Yapay zeka eğitmeniyle CSS öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 40
- Dersler
- 159
Sıkça Sorulan Sorular
“CSS Türlenmiş Nesne Modeli (OM)” dersi ücretsiz mi?
Evet — “CSS Türlenmiş Nesne Modeli (OM)” 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.
“CSS Türlenmiş Nesne Modeli (OM)” dersinde ne öğreneceğim?
CSS değerleriyle dizeler yerine CSS Türlenmiş OM API'sini kullanarak türlenmiş JavaScript nesneleri olarak çalışı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 1. dersidir.
“CSS Türlenmiş Nesne Modeli (OM)” 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
- CSS Türlenmiş Nesne Modeli (OM)
- CSS Özellikleri ve Değerleri API'si (@property)
- CSS Paint API'si: Worklet'ler
- CSS Yerleşim API'si ve Kapsam