Bu sabah, bazı html ve haml yazarken, divlerin kullanım şeklinin saçma olduğu bana geldi. Div'ler neden ima edilmiyor? Şunu düşünün:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
şuydu:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Elemanın "div sınıfı" kısmı varsayılırsa, HTML daha semantik ve eşleşen kapanış etiketleri ile daha fazla okunabilir olacaktı!
Bu, sahip olduğumuz HAML'ye benzer:
.content Hello, World!
Hangi olur:
<div class='content'>Hello, World!</div>
Bana öyle geliyor ki bunun tarayıcılarda çalışması için olması gereken tek şey, tarayıcıların mevcut bir html öğesi tanımı olmadan her öğeyi yorumlamaya başlayabilmesidir <div class="<element name>">
.
Bu tamamen geriye dönük uyumlu olabilir; CSS ve jQuery seçicileri vb. için "div.hero-img" yine de çalışabilir ve öğeleri seçmek için gerekli sözdizimi olabilir.
Yeni web bileşenleri spesifikasyonunu biliyorum, ancak burada önerilenden çok daha karmaşık. Bir web sitesinin kaynağına bakmanın ve bunun gibi görünen html'yi görmenin ne kadar hoş olacağını hayal edebiliyor musunuz ?!
Öyleyse neden div kullanmalıyız?
Mozilla'nın html5 öğe listesine bakarsanız , her öğenin anlamsal bir anlamı vardır ve sonra ulaşırız <div>
ve der ki:
"Özel bir anlamı olmayan genel bir kapsayıcıyı temsil eder."
..ve sonra html5'e ekledikleri keyfi öğeleri listelerler <details>
.
Tabii ki, bu ima edilen div kavramı html spesifikasyonuna eklenmişse, standart hale gelmek on yıl sürecektir, bu da web zamanında bir milyon yıldır.
Yani bunun henüz gerçekleşmemiş olmasının iyi bir nedeni olduğunu düşünüyorum. Lütfen, bana açıkla!