HTML และ CSS ได้พัฒนาระดับความยืดหยุ่นซึ่งหมายความว่าแม้องค์ประกอบ "บล็อก" ในแนวความคิดเช่น<div>
(เนื้อหาบล็อกที่เก่าแก่ที่สุดและทั่วไปที่สุดของ HTML) ไม่จำเป็นต้องแสดงเป็นบล็อก:
div { display: inline; }
ตามที่คุณทราบ<div>
สามารถ repurposed เพื่อเลียนแบบ<table>
และเพื่อนร่วมเดินทาง จริงๆแล้วแท็กส่วนใหญ่สามารถ ได้รับบทบาทพิเศษของพวกเขาผมสงสัยคุณประโยชน์สามารถ remap แท็กมหภาคเช่น<html>
, <head>
, <body>
และ<script>
แต่แท็ก "คนธรรมดา" เช่น<div>
, <p>
, <b>
, <em>
, <span>
และ<pre>
? ขึ้นสำหรับคว้า สร้างบล็อกแท็กแบบอินไลน์บล็อกแบบอินไลน์โฟลว์แท็กที่จัดรูปแบบไว้ล่วงหน้าบล็อกแบบลอยตัว ไปบ้าถ้าคุณชอบ!
มันเป็นเรื่องที่เป็นไปได้ คุณอาจต้องการปั่นเส้นด้ายเกี่ยวกับวิธีที่เราทุกคนควรใช้ "semantic markup" blah blah blahหรือเชื่อกับ Pythonistas ว่า "ควรมีอย่างใดอย่างหนึ่งและดีกว่าเพียงวิธีเดียวเท่านั้นที่จะทำ แต่ทิม Toadyเป็นคนฉลาดและอยากรู้อยากเห็น เมื่อได้รับมือเปล่าเขาจะสำรวจพวกเขาทั้งหมด ซึ่งรวมถึงการใช้ความยืดหยุ่นที่มีอยู่เพื่อทดแทน บางคนฉลาดบางคนจะพิสูจน์เป็นอย่างอื่น แต่การลองผิดลองถูกและประสบการณ์เป็นวิธีเดียวที่จะค้นหาสิ่งนั้นได้ ดังนั้นจึงมีเงื่อนไขเพียงพอสำหรับการทดแทน
ฉันไม่คิดว่ามันจะเกินกำลังที่จะบอกว่าการทดแทนก็จำเป็นเช่นกัน อย่างน้อยก็สะดวกมาก เป็นเวลานาน, HTML ไม่ได้มี<menu>
, <section>
หรือ<aside>
องค์ประกอบ แต่หน้าเว็บและแอพทุกที่มีเมนูส่วนและแถบด้านข้าง อย่างไร? เนื่องจากองค์ประกอบรายการ HTML ( <ul>
, <ol>
และ<li>
) ถูก repurposed อย่างง่ายดายและการใช้งานบางอย่างถูกจัดประเภทใหม่เป็นคอนเทนเนอร์เมนูและชิ้นส่วน <div>
สามารถยืนอยู่ใน<article>
, <section>
, <aside>
, และ<figure>
<summary>
HTML5 ได้ติดตามและเพิ่มองค์ประกอบตามความต้องการสำหรับกรณีการใช้งานที่ไม่ได้รับการแก้ไขก่อนหน้านี้ เป็นการอัปเดตและแก้ไขที่ยอดเยี่ยมเพื่อรองรับการใช้งานทั่วไปที่ใช้งานจริง
ดังนั้นแม้ยังคงมีจำนวนมากของสำนวนทั่วไปที่ไม่ได้มีแท็ก bespoke หรือรูปแบบความหมาย สิ่งต่าง ๆ เช่นหน้ากระดาษเชิงอรรถราคาอ้างอิงกระแสข้อมูลความคิดเห็นรูปภาพประจำตัวที่เกี่ยวข้อง "ไลค์" หัวเรื่องย่อยและคำบรรยายที่ฉันและคนอื่น ๆ ใช้กันทุกวัน เราต้องทำอะไร สิ่งที่เราทำได้ จัดองค์ประกอบใหม่ "ปิด แต่ไม่ถูกต้อง" ด้วยชั้นเรียนและรหัสเพื่อให้ยืนและสนับสนุนงานของเราในอีกห้าหรือสิบปีข้างหน้าหรืออีกหลายปีหรือจนกว่าจะถึง HTML6 หรือ HTML7 HTML / CSS ของ "ใช่มันเป็น X ในทางทฤษฎี แต่เราจะติดแท็กและทำงานกับมันในฐานะความสามารถ Y" สะดวกสบายอย่างเหลือเชื่อ ที่ขาดไม่ได้จริงๆ ทำให้เนื้อหาเว็บยืดหยุ่นและไม่แตกหักง่าย
ยิ่งไปกว่านั้น"semantic markup" มีข้อ จำกัด ที่ลดลงไม่ได้ นั่นเป็นความจริงของโครงสร้างที่เข้มงวดใด ๆ ที่คุณสามารถจินตนาการถึงเนื้อหาได้
รูปแบบมาตรฐานไม่สามารถครอบคลุมความต้องการความปรารถนาและความหลากหลายของมนุษย์ได้ทั้งหมด พวกเขาจะเป็น "เบื้องหลังโค้ง" ของสิ่งที่ผู้คนกำลังทำอยู่เสมอ วิธีที่พวกเขากำลังสร้างสรรค์ Heck, HTML5 ยังคงอยู่หลังส่วนโค้งของเชิงอรรถ subheads และนวัตกรรมการพิมพ์อื่น ๆ ของศตวรรษที่ 17 มันขาดคุณสมบัติที่จำเป็นสำหรับคนทำงานด้านข้อมูลและผู้สร้างเนื้อหา ดังนั้นเราจึงโพล่งออกมา
ไม่มีการเปลี่ยนแปลงมากขึ้นคือข้อมูลไม่ได้ปฏิบัติตามกฎชุดเดียว แน่นอนว่ามันเริ่มเป็นโต๊ะ แต่บางทีคุณอาจต้องการสรุป - พูดชื่อของแต่ละแถวเป็นรายการ อาจใช้พื้นที่มากเกินไปและคุณต้องการให้เป็นรายการอินไลน์แบบประหยัดพื้นที่ บางทีคุณอาจมีระเบียนที่คุณต้องการเพียงแค่ชื่อเรื่องจากนั้นถ้าคุณคลิกคุณจะเห็นรายละเอียดพื้นฐาน หรือคุณต้องการให้รายการในรายการหรือตารางที่ซับซ้อนถูกจัดกลุ่มและจัดหมวดหมู่ โอ้ตอนนี้คุณต้องการให้มันเปลี่ยนและจัดหมวดหมู่ด้วยวิธีที่แตกต่างกัน หรือค่าที่พล็อตเป็นแผนภูมิแท่ง สิ่งเหล่านี้เกิดขึ้นทุกวันในแอพสเปรดชีตและการสร้างภาพข้อมูล พวกเขาเป็นส่วนหนึ่งของภูมิทัศน์ข้อมูลของเราและสิ่งที่เราต้องการและจำเป็นต้องทำบนเว็บ มนุษย์จัดรูปแบบและการนำเสนอข้อมูลของเราใหม่อย่างต่อเนื่อง มันไม่ได้เป็นเพียงสิ่งเดียวหรือรูปแบบ / เค้าโครง หรือแนวคิดเดียว มันเป็นเรื่องที่เข้าใจง่ายมีความหมายขึ้นอยู่กับสถานการณ์และตัวเลือกที่ผู้ใช้โต้ตอบกัน ใช่ทำเครื่องหมายข้อความว่า "เน้น" (<em>
) แต่นั่นเป็นเพียงการประชุม ฉันได้ทำงานกับเอกสารที่มี "การเน้น" ที่แตกต่างกันอย่างน้อยครึ่งโหล เราจำเป็นต้องสามารถปรับแต่งและทำการแมปใหม่สำหรับการใช้งานที่แตกต่างกันการตีความที่แตกต่างกัน การเน้น HTML ประเภทใด เลือดตาแทบกระเด็น การ จำกัด เปราะ. เช่นเดียวกับที่เป็นจริงสำหรับ<table>
, <p>
ฯลฯ
เป็นเรื่องดีที่มีแท็ก / องค์ประกอบที่ช่วยจัดระเบียบความคิดของชุมชนทั้งหมดเกี่ยวกับ "เกิดอะไรขึ้น" สิ่งนั้นช่วยสร้างอนุสัญญาและสำนวนและทำให้เรามีประสิทธิภาพยิ่งขึ้น แต่ความสามารถในการแมปสิ่งต่าง ๆ เพื่อออกแบบและเปลี่ยนโครงสร้างเหล่านั้นใหม่? นั่นเป็นส่วนหนึ่งของการรวมเว็บและความสำเร็จของเว็บ