เช้านี้ในขณะที่ฉันกำลังเขียน html และ haml บางอย่างเกิดขึ้นกับฉันว่าวิธีที่ divs ถูกใช้นั้นไร้สาระ ทำไม divs ไม่ได้บอกเป็นนัย ๆ ? ลองคิดดูถ้านี่:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
นี่คือ:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
หากสันนิษฐานว่าเป็นส่วนของ "div class" องค์ประกอบ HTML จะมีความหมายมากขึ้นและสามารถอ่านได้มากขึ้นด้วยแท็กปิดการจับคู่!
สิ่งนี้คล้ายกับ HAML ที่เรามี:
.content Hello, World!
ซึ่งกลายเป็น:
<div class='content'>Hello, World!</div>
มันดูเหมือนว่าฉันเป็นเพียงสิ่งเดียวที่จะต้องเกิดขึ้นสำหรับการทำงานในเบราว์เซอร์ที่เป็นเบราว์เซอร์สามารถเริ่มต้นการตีความทุกองค์ประกอบโดยไม่ต้องนิยามองค์ประกอบ HTML <div class="<element name>">
ที่มีอยู่เป็นนัยว่า
สิ่งนี้อาจเข้ากันได้อย่างสมบูรณ์แบบย้อนหลัง สำหรับตัวเลือก CSS และ jQuery เป็นต้น "div.hero-img" ยังคงใช้งานได้และเป็นไวยากรณ์ที่จำเป็นในการเลือกองค์ประกอบ
ฉันรู้เกี่ยวกับข้อกำหนดองค์ประกอบของเว็บใหม่ แต่มีความซับซ้อนมากกว่าสิ่งที่แนะนำไว้ที่นี่ คุณลองจินตนาการดูว่ามันดีแค่ไหนที่ได้ดูแหล่งที่มาของเว็บไซต์และดู html ที่ดูเหมือนอย่างนั้นหรือ!
แล้วทำไมเราต้องใช้ div?
หากคุณดูที่รายการองค์ประกอบ html5 ของ Mozillaทุกองค์ประกอบมีความหมายทางตรรกแล้วเราจะไปถึง<div>
และมันจะบอกว่า:
"แสดงภาชนะบรรจุทั่วไปที่ไม่มีความหมายพิเศษ"
..and แล้วพวกเขารายการองค์ประกอบโดยพลการที่พวกเขาจะเพิ่มเป็น HTML5 <details>
เช่น
แน่นอนถ้าแนวคิดของ div โดยนัยนี้ถูกเพิ่มเข้าไปในข้อมูลจำเพาะ html มันจะใช้เวลาสิบปีกว่าจะกลายเป็นมาตรฐานซึ่งเป็นเวลาหนึ่งล้านปีในเว็บ
ดังนั้นฉันคิดว่าต้องมีเหตุผลที่ดีที่สิ่งนี้ยังไม่เกิดขึ้น กรุณาอธิบายให้ฉัน!