เรียนรู้เกี่ยวกับความแตกต่างระหว่าง ระดับบล็อก &บล็อคอินไลน์ องค์ประกอบใน HTML
ใน HTML องค์ประกอบทั้งหมดจะมี แสดง . เริ่มต้น ค่าที่สืบทอดมาจาก User Agent Stylesheet (UAS) ซึ่งมีอยู่ในเบราว์เซอร์ทั้งหมด
มีสองตัวเลือกค่าที่แสดง บล็อก และ อินไลน์:
- บล็อกใน CSS:
display:block;
- inline ใน CSS:
display:inline-block;
ลักษณะการทำงานหรือรูปแบบขององค์ประกอบ HTML ที่ได้รับมาจาก User Agent Stylesheet (UAS) ของเบราว์เซอร์ - ซึ่งคุณสามารถแทนที่ได้อย่างง่ายดาย ดังนั้นองค์ประกอบระดับบล็อกใดๆ สามารถแปลงเป็นองค์ประกอบแบบอินไลน์ได้ด้วยการประกาศง่ายๆ:display:inline-block;
— และในทางกลับกัน
องค์ประกอบระดับบล็อกคืออะไร
ใน HTML องค์ประกอบระดับบล็อก เป็นองค์ประกอบที่ขึ้นบรรทัดใหม่เสมอ (เช่น การขึ้นบรรทัดใหม่) และใช้ความกว้างเต็มของคอนเทนเนอร์ (องค์ประกอบหลัก)
ดังนั้นถ้าฉันเพิ่ม
ตัวอย่างโค้ด:
ผลลัพธ์:
ตกลงยากที่เห็นว่าจะใช้ความกว้างเต็มที่ เพื่อให้มองเห็นได้ง่ายขึ้น มาเพิ่มเส้นขอบให้:
ผลลัพธ์:
ตอนนี้คุณสามารถดู
ดังที่ฉันได้กล่าวไปแล้ว องค์ประกอบระดับบล็อกจะเริ่มต้นขึ้นบรรทัดใหม่ และนี่คือลักษณะที่ปรากฏในระดับโค้ดและลักษณะการแสดงผลในเบราว์เซอร์จากมุมมองของผู้ใช้:
ลักษณะที่ปรากฏ:
ถ้าทั้งสอง
รายการองค์ประกอบระดับบล็อกทั้งหมดใน HTML:
ลักษณะที่ปรากฏ:
องค์ประกอบอินไลน์บล็อกไม่ขึ้นบรรทัดใหม่ (ตัวแบ่งบรรทัด)
ดังนั้น หากคุณมีองค์ประกอบบล็อกแบบอินไลน์สององค์ประกอบที่อยู่ติดกันในระดับโค้ด:
จากนั้นจะแสดงผลในเบราว์เซอร์ดังนี้:
และเพียงเพื่อให้เห็นว่า inline block &block แตกต่างกันอย่างไร เรามาเปรียบเทียบกันแบบ “เคียงข้างกัน”:
รายการองค์ประกอบแบบอินไลน์ทั้งหมดใน HTML:
คุณได้เรียนรู้ว่าองค์ประกอบบล็อกและอินไลน์แตกต่างกันในแง่ของ:
แต่มีข้อแตกต่างระหว่างวิธีการใช้งาน:
นี่คือ ไม่ HTML ที่ยอมรับได้:
แต่นี่ คือ ยอมรับได้ใน HTML:
แนวคิดเบื้องหลังความแตกต่างของโมเดลเนื้อหาเชิงโครงสร้างนี้คือ ควรใช้องค์ประกอบบล็อกเพื่ออธิบายโครงสร้างที่ใหญ่กว่าองค์ประกอบแบบอินไลน์
จำไว้ว่าองค์ประกอบ HTML <div>I’m a block-level element.</div>
<div style="border:1px solid #dd4c4f">I’m a block-level element.</div>
ธาตุ
<div style="border:1px solid #dd4c4f">I’m a block-level element.</div>
<div style="border:1px solid #dd4c4f">I’m another block-level element.</div>
องค์ประกอบระดับบล็อก HTML ทั้งหมด
)
,
,
,
,
,
<div style="display:inline-block;border:1px solid #dd4c4f;">
I’m a inline-block element
</div>
<div style="display:inline-block;border:1px solid #dd4c4f">
I’m a inline block element.
</div>
<div style="display:inline-block;border:1px solid #dd4c4f">
I’m a another inline block element.
</div>
องค์ประกอบบล็อกแบบอินไลน์ HTML ทั้งหมด
อีกข้อแตกต่างที่สำคัญระหว่างบล็อกและอินไลน์
<span><p>Block element inside an inline block element.</p></span>
<p><span>Inline block element inside a block element.</span></p>
แสดง
คุณสามารถแทนที่ค่าในสไตล์ชีต CSS ของคุณได้ แต่สิ่งที่คุณเห็นในวันนี้คือองค์ประกอบระดับบล็อกและองค์ประกอบบล็อกแบบอินไลน์ทำงานอย่างไรโดยค่าเริ่มต้น หากคุณไม่ได้กำหนดสไตล์เอง