มาตรา vs บทความ HTML5


201

ฉันมีหน้าเว็บที่ประกอบด้วย "ส่วน" ต่างๆเช่นวิดีโอตัวดึงข้อมูลข่าว ฯลฯ ฉันสับสนเล็กน้อยในการแสดงสิ่งเหล่านี้ด้วย HTML5 ขณะนี้ฉันมีพวกเขาเป็น HTML5 <section>s <article>แต่ในการตรวจสอบต่อไปมันก็ดูพวกเขาแท็กที่ถูกต้องมากขึ้นจะ ใครช่วยแสงนี้ให้ฉันได้บ้าง

สิ่งเหล่านี้ไม่มีการโพสต์ในบล็อกหรือ "เอกสาร" ในความหมายที่แท้จริงของคำศัพท์ดังนั้นจึงเป็นการยากที่จะเห็นว่าองค์ประกอบใดที่จะนำไปใช้

ไชโย

แก้ไข: ฉันเลือกที่จะใช้articleแท็กเนื่องจากดูเหมือนจะเป็นแท็กคอนเทนเนอร์สำหรับองค์ประกอบที่ไม่เกี่ยวข้องซึ่งฉันคิดว่า "ส่วน" ของฉันคือ บทความ tagname จริง แต่ดูเหมือนว่าจะทำให้เข้าใจผิดและถึงแม้ว่าพวกเขาจะพูดว่า HTML5 ได้รับการพัฒนาโดยคำนึงถึงการใช้งานเว็บแอพพลิเคชั่นมากขึ้น

อย่างไรก็ตามขอบคุณสำหรับคำตอบของคุณ


5
มันไม่สำคัญหรอก ใช้สิ่งที่เหมาะสมกับคุณ โดยส่วนตัวฉันจะใช้section's
Ilia Choly

@illia choly: ฉันเห็นด้วยกับคุณไม่มีจริงหรือผิด
Shirgill Farhan

1
คำอธิบายที่เรียบร้อยพร้อมกับตัวอย่างMDN
randominstanceOfLivingThing

คำตอบ:


143

ในหน้าW3 เกี่ยวกับการสร้าง HTML5จะกล่าวว่า:

<section>: ใช้เพื่อจัดกลุ่มบทความต่าง ๆ ลงในวัตถุประสงค์หรือวิชาที่แตกต่างกันหรือเพื่อกำหนดส่วนต่าง ๆ ของบทความเดียว

จากนั้นแสดงภาพที่ฉันล้าง:

ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ยังอธิบายวิธีใช้<article>แท็ก (จากลิงก์ W3 เดียวกันด้านบน):

<article> เกี่ยวข้องกับ <section>แต่มีความแตกต่างอย่างชัดเจน โดยที่<section>มีไว้สำหรับการจัดกลุ่มส่วนที่แตกต่างกันของเนื้อหาหรือฟังก์ชันการทำงาน<article>มีไว้สำหรับการบรรจุเนื้อหาส่วนบุคคลแบบสแตนด์อโลนที่เกี่ยวข้องเช่นโพสต์บล็อกวิดีโอวิดีโอหรือรายการข่าว ลองใช้วิธีนี้ - ถ้าคุณมีเนื้อหาหลายรายการแต่ละรายการจะเหมาะสำหรับการอ่านด้วยตนเองและควรจัดระเบียบเป็นรายการแยกต่างหากในฟีด RSS ดังนั้น<article>จึงเหมาะสำหรับการทำเครื่องหมายขึ้น

ในตัวอย่างของเรา<section id="main">มีรายการบล็อก แต่ละบล็อกจะเหมาะสำหรับการรวมเป็นไอเท็มในฟีด RSS และจะเหมาะสมเมื่ออ่านด้วยตนเองนอกบริบทดังนั้นจึง <article>เหมาะสำหรับพวกเขา:

<section id="main">
    <article>
      <!-- first blog post -->
    </article>

    <article>
      <!-- second blog post  -->
    </article>

    <article>
      <!-- third blog post -->
    </article>
</section>

งั้นเหรอ? โปรดระวังด้วยว่าคุณสามารถซ้อนส่วนของบทความไว้ในนั้นได้ ตัวอย่างเช่นหากแต่ละโพสต์บล็อกเหล่านี้มีโครงสร้างที่สอดคล้องกันของส่วนที่แตกต่างกันคุณสามารถใส่ส่วนต่างๆในบทความของคุณได้เช่นกัน อาจมีลักษณะเช่นนี้:

<article>
  <section id="introduction">
  </section>

  <section id="content">
  </section>

  <section id="summary">
  </section>
</article>

13
นอกจากนี้: <หลัก> สามารถใช้เพื่อตัดองค์ประกอบระหว่างส่วนหัวและส่วนท้าย (บล็อกสีน้ำเงินจากภาพ) <figure> ล้อมรูปภาพไว้ในบทความหรือส่วนต่างๆ
หน่วยลอจิก

2
เยี่ยมมาก นี่ควรเป็นคำตอบที่ยอมรับได้ mainผมเห็นด้วยกับตรรกะหน่วยงานที่คุณควรเพิ่ม
Chuck Le Butt

1
คุณควรอัพเดทรูปด้วยส่วนในบทความ
K - ความเป็นพิษใน SO กำลังเพิ่มขึ้น

ฉันรู้สึกว่าสงครามระหว่างบทความและตอนนี้จะเกิดขึ้นตอนนี้เพราะความสับสน แต่ Justin Im 100% บนกระดานของคุณใช้ส่วนมากกว่าบทความเป็นส่วนนำไปใช้กับส่วนของเอกสาร (ตามที่คุณได้แสดง) ที่บทความเป็นแบบสแตนด์อโลนเนื้อหาอิสระภายในเอกสาร (และทำให้ส่วน) ความหมายของคำว่า "ส่วน" นั้นเหมาะสมกว่าสำหรับส่วน div เก่าอย่างไรก็ตาม เยี่ยมมาก!
Stokely

1
นอกจากนี้คุณยังสามารถใช้ <header> และ <footer> ภายใน <article> หากคุณต้องการบางอย่างที่เฉพาะเจาะจงมากกว่า <section>
Ric

130

ดูเหมือนว่าคุณควรห่อ "ส่วน" แต่ละอัน (ตามที่คุณเรียก) ใน<article>แท็กและรายการในบทความใน<section>แท็ก

ข้อมูลจำเพาะ HTML5กล่าว (มาตรา):

องค์ประกอบส่วนแสดงถึงส่วนทั่วไปของเอกสารหรือแอปพลิเคชัน ส่วนในบริบทนี้คือการจัดกลุ่มเนื้อหาที่มีเนื้อหาโดยทั่วไปแล้วจะมีหัวเรื่อง [ ... ]

ตัวอย่างของส่วนต่างๆจะเป็นบทหน้าต่างๆที่มีแท็บในกล่องโต้ตอบแบบแท็บหรือส่วนที่มีหมายเลขของวิทยานิพนธ์ โฮมเพจของเว็บไซต์สามารถแบ่งออกเป็นส่วนต่าง ๆ เพื่อแนะนำรายการข่าวและข้อมูลการติดต่อ

หมายเหตุ : ผู้เขียนควรได้รับการสนับสนุนให้ใช้องค์ประกอบบทความแทนองค์ประกอบส่วนเมื่อมันจะทำให้รู้สึกถึงการจัดส่งเนื้อหาขององค์ประกอบ

และสำหรับบทความ

องค์ประกอบของบทความแสดงถึงองค์ประกอบที่มีอยู่ในเอกสารหน้าแอปพลิเคชั่นหรือเว็บไซต์ซึ่งโดยหลักการแล้วสามารถแจกจ่ายหรือนำกลับมาใช้ใหม่ได้อย่างอิสระเช่นในองค์กร นี่อาจเป็นโพสต์ในฟอรัมบทความในนิตยสารหรือหนังสือพิมพ์รายการในบล็อกความคิดเห็นที่ผู้ใช้ส่งเข้ามาเครื่องมือหรือแกดเจ็ตแบบโต้ตอบหรือรายการเนื้อหาอิสระอื่น ๆ

ผมคิดว่าสิ่งที่คุณเรียกว่า "ส่วน" ใน OP พอดีคำนิยามของบทความที่ฉันสามารถดูพวกเขาเป็นอิสระแจกจ่ายหรือนำมาใช้ใหม่

อัปเดต:การเปลี่ยนแปลงข้อความเล็กน้อยสำหรับarticleในฉบับร่างล่าสุดสำหรับ HTML 5.1 (การเปลี่ยนแปลงตัวเอียง):

องค์ประกอบของบทความแสดงถึงองค์ประกอบที่สมบูรณ์หรือมีอยู่ในเอกสารหน้าแอปพลิเคชั่นหรือเว็บไซต์ซึ่งโดยหลักการแล้วสามารถแจกจ่ายหรือนำกลับมาใช้ใหม่ได้อย่างอิสระเช่นในการเผยแพร่ นี่อาจเป็นโพสต์ในฟอรัมบทความในนิตยสารหรือหนังสือพิมพ์รายการในบล็อกความคิดเห็นที่ผู้ใช้ส่งเข้ามาเครื่องมือหรือแกดเจ็ตแบบโต้ตอบหรือรายการเนื้อหาอิสระอื่น ๆ

นอกจากนี้การอภิปรายเกี่ยวกับรายชื่อผู้รับจดหมาย HTML สาธารณะเกี่ยวกับarticleในเดือนมกราคมและกุมภาพันธ์ของปี 2013


17
Article 1, Section 2, Clause 3ขณะที่การค้นหาบนเว็บที่ฉันมาข้ามเอกสารทางกฎหมายที่อ่าน ฉันหวังว่าจะช่วยให้ฉันจำตรรกะ
commonpike

3
ฉันไม่เห็นด้วยกับขอบเขต แต่ฉันก็เชื่อว่าพวกเขาสามารถเปลี่ยนได้ตามบริบท การอ่านคำอธิบายสเป็คแนะนำให้ฉันรู้ว่ามันควรจะเป็นวิธีอื่น ๆ ถ้าarticleทำหน้าที่เป็น "เครื่องมือ" section: "กลุ่มเฉพาะเรื่อง" และ "ส่วนของเอกสาร" article: "อยู่ในตัวเอง" และ "วิดเจ็ต" พิจารณาตัวอย่างหน้าแรกเช่นcodepen.io/anon/pen/iDEwf
daleyjem

2
ทำไมพวกเขาถึงบอกว่าโพสต์ฟอรั่มเดียวทำให้บทความ? การโพสต์ฟอรัมไม่สมบูรณ์หากไม่มีเธรดที่เหลือ
masterxilo

7
นี่คือถอยหลัง W3C ระบุอย่างชัดเจนว่าsectionเป็นการจัดกลุ่มเนื้อหาและarticleเป็นองค์ประกอบแบบสแตนด์อะโลน (เช่น. ซึ่งสามารถจัดกลุ่มเป็นธีม) คิดว่ามันเหมือนหนังสือพิมพ์: คุณจะพบบทความมากมายในแต่ละส่วน บทความวิจารณ์ภาพยนตร์ในส่วนความบันเทิงเป็นต้น
Chuck Le Butt

3
เห็นด้วยกับ @Chuck ที่นี่ ในหนังสือของฉันคำตอบนี้มีย้อนหลังอย่างสมบูรณ์ คำตอบของจัสตินนั้นเหมาะสมกว่า แต่ก็ดีเดาว่าสเป็คออกจากห้องมากมายสำหรับการตีความ ไม่แน่ใจว่าถ้านี่เป็นสิ่งที่ไม่ดีหรือดี
maryisdead

39

ฉันจะใช้<article>บล็อกข้อความที่ไม่เกี่ยวข้องกับบล็อกอื่น ๆ ทั้งหมดในหน้า <section>ในทางกลับกันจะเป็นตัวแบ่งเพื่อแยกเอกสารที่เกี่ยวข้องกัน

ตอนนี้ฉันไม่แน่ใจว่าสิ่งที่คุณมีในวิดีโอของคุณ newsfeed ฯลฯ แต่นี่เป็นตัวอย่าง (ไม่มีจริงหรือผิดจริงเพียงแนวทางของฉันใช้แท็กเหล่านี้):

<article>
    <h1>People</h1>
    <p>text about people</p>
    <section>
        <h1>fat people</h1>
        <p>text about fat people</p>
    </section>
    <section>
        <h1>skinny people</p>
        <p>text about skinny people</p>
    </section>
</article>
<article>
    <h1>Cars</h1>
    <p>text about cars</p>
    <section>
        <h1>Fast Cars</h1>
        <p>text about fast cars</p>
    </section>
</article>

ดังที่คุณเห็นส่วนต่างๆยังคงเกี่ยวข้องซึ่งกันและกัน แต่ตราบใดที่ส่วนนั้นอยู่ในบล็อกที่จัดกลุ่ม ส่วนที่ไม่จำเป็นต้องอยู่ในบทความ พวกเขาสามารถอยู่ในเนื้อความของเอกสาร แต่ฉันใช้ส่วนต่าง ๆ ในร่างกายเมื่อเอกสารทั้งหมดเป็นบทความเดียว

เช่น

<body>
    <h1>Cars</h1>
    <p>text about cars</p>
    <section>
        <h1>Fast Cars</h1>
        <p>text about fast cars</p>
    </section>
</body>

หวังว่ามันจะสมเหตุสมผล


5
I'd use <article> for a text block that is totally unrelated to the other blocks on the page.ฉันรู้ว่าคุณเขียนสิ่งนี้กลับมาในปี 2011 แต่นี่ไม่ใช่สิ่งที่<aside>แท็กมีไว้เพื่ออะไร
MyDaftQuestions

19

ฉันชอบที่จะยึดติดกับความหมายมาตรฐานของคำที่ใช้: articleจะนำไปใช้กับบทความดี ฉันจะกำหนดบล็อกโพสต์เอกสารและบทความข่าวเป็นarticlesฉันจะกำหนดบล็อกโพสต์เอกสารและบทความที่เป็นข่าวส่วนในทางกลับกันจะหมายถึงรายการเลย์เอาต์ / ux: แถบด้านข้างส่วนหัวส่วนท้ายจะเป็นส่วน อย่างไรก็ตามนี่คือการตีความส่วนตัวของฉันเอง - ตามที่คุณชี้ให้เห็นรายละเอียดสำหรับองค์ประกอบเหล่านี้ยังไม่ชัดเจน

สนับสนุนสิ่งนี้w3cกำหนดarticleองค์ประกอบเป็นส่วนของเนื้อหาที่สามารถยืนอยู่ได้ด้วยตนเอง โพสต์บล็อกสามารถยืนอยู่ได้ด้วยตัวเองเป็นรายการเนื้อหาที่มีคุณค่าและบริโภคได้ อย่างไรก็ตามส่วนหัวจะไม่

นี่เป็นบทความที่น่าสนใจเกี่ยวกับความบ้าคลั่งหนึ่งอย่างในการพยายามแยกแยะระหว่างองค์ประกอบใหม่ทั้งสอง จุดพื้นฐานของบทความที่ฉันรู้สึกว่าถูกต้องคือพยายามและใช้องค์ประกอบที่คุณรู้สึกว่าดีที่สุดจริง ๆ แสดงถึงสิ่งที่ประกอบด้วย

สิ่งที่เป็นปัญหาเพิ่มเติมคือบทความและส่วนคล้ายกันมาก ทุกสิ่งที่แยกพวกเขาคือคำว่า "อยู่ในตัวเอง" การตัดสินใจว่าจะใช้องค์ประกอบใดจะง่ายหากมีกฎที่ยากและรวดเร็ว แต่มันเป็นเรื่องของการตีความ คุณสามารถมีหลายบทความในส่วนคุณสามารถมีหลายส่วนภายในและบทความคุณสามารถซ้อนส่วนภายในส่วนและบทความภายในส่วน ขึ้นอยู่กับคุณที่จะตัดสินใจว่าองค์ประกอบใดเหมาะสมที่สุดในความหมายในสถานการณ์ใด ๆ

นี่คือคำตอบที่ดีมากสำหรับคำถามเดียวกันที่นี่ใน SO


8

แผนผังลำดับงานด้านล่างสามารถช่วยได้เมื่อเลือกหนึ่งในองค์ประกอบความหมาย HTML5 ต่างๆ: ป้อนคำอธิบายรูปภาพที่นี่


5

มาตรา

  • ใช้สิ่งนี้เพื่อกำหนดส่วนของเค้าโครงของคุณ มันอาจจะเป็นmid, left, right ฯลฯ ..
  • สิ่งนี้มีความหมายของการเชื่อมต่อกับองค์ประกอบอื่น ๆ กล่าวง่ายๆก็คือมันขึ้นอยู่กับ

บทความ

  • ใช้สิ่งนี้ในที่ซึ่งคุณมีเนื้อหาที่เป็นอิสระซึ่งเหมาะสมกับตัวเอง

  • บทความมีความหมายที่สมบูรณ์ของตัวเอง


3

ส่วนนั้นเป็นเสื้อคลุมสำหรับh1(หรือhแท็กอื่น ๆ) และเนื้อหาที่สอดคล้องกับสิ่งนี้ An articleเป็นหลักเอกสารภายในเอกสารของคุณที่ทำซ้ำหรือแบ่งหน้า ... เช่นการโพสต์บล็อกแต่ละรายการในเอกสารของคุณอาจเป็นบทความหรือความคิดเห็นแต่ละรายการในเอกสารของคุณอาจเป็นบทความ


1

นอกจากนี้สำหรับเนื้อหาที่รวบรวม "ผู้เขียนควรใช้องค์ประกอบของบทความแทนองค์ประกอบของส่วนเมื่อต้องการให้จัดส่งเนื้อหาขององค์ประกอบ"


0

การตีความของฉันคือ: ฉันคิดว่า YouTube มีส่วนแสดงความคิดเห็นและในส่วนความคิดเห็นมีหลายบทความ (ในกรณีนี้ความคิดเห็น)

ดังนั้นส่วนก็เหมือน div-container ที่เก็บบทความ


-2

บทความและส่วนเป็นองค์ประกอบความหมายของ HTML5 ส่วนคือส่วนทั่วไปของระดับบล็อกของหน้าเว็บ แต่เกี่ยวข้องกับเนื้อหาเว็บเพจของเรา บทความนี้เป็นบล็อกระดับ แต่บทความหมายถึงโพสต์บล็อกแต่ละความคิดเห็นของเว็บเพจ

ทั้งบทความและส่วนควรมีองค์ประกอบหัวเรื่อง h2-h6

สำหรับโพสต์บล็อกใช้ไวยากรณ์ต่อไปนี้สำหรับบทความและส่วน

<article>
         <h1>Heading 1</h1>
         <p>Article Description</p>
         <section id="sec1">
                <h2>Section Heading</h2>
                <p>Section Description</p>
         </section>
         <section id="sec2">
                <h2>Section Heading</h2>
                <p>Section Description</p>
         </section>
</article>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.