Bölüm ve Makale HTML5


201

Videolar, haber besleme vb. Gibi çeşitli "bölümlerden" oluşan bir sayfam var .. HTML5 ile bunları temsil etmek nasıl biraz kafam karıştı. Şu anda HTML5'ler olarak var <section>, ancak daha fazla incelemede daha doğru etiket olurdu görünüyor <article>. Biri benim için buna ışık tutabilir mi?

Bunların hiçbiri kelimenin tam anlamıyla blog yazıları veya "belgeler" değildir, bu nedenle hangi öğenin uygulanacağını görmek biraz zordur.

Şerefe

EDIT: Ben articlebenim "bölümler" sanırım ilgisiz öğeler için bir kapsayıcı etiket gibi görünüyor çünkü etiketi kullanmayı seçti . Ancak gerçek tagname makalesi oldukça yanıltıcı gibi görünüyor ve HTML5'in web uygulamaları için daha fazla dikkate alınarak geliştirildiğini söylese de, etiketlerin çoğunun daha blog merkezli / belge tabanlı olduğunu düşünüyorum.

Her neyse cevaplarınız için teşekkürler oldukça öznel görünüyor.


5
gerçekten önemli değil. Sizin için anlamlı olanı kullanın. Şahsen ben section's
Ilia Choly

@illia choly: Sana katılıyorum, gerçek doğru ya da yanlış yok.
Shirgill Farhan

Yanıtlar:


144

In yapılandırma HTML5 hakkında W3 wiki sayfasından , diyor:

<section>: Farklı makaleleri farklı amaçlara veya konulara gruplamak veya tek bir makalenin farklı bölümlerini tanımlamak için kullanılır.

Sonra temizlediğim bir görüntüyü gösterir :

resim açıklamasını buraya girin

Ayrıca <article>etiketin nasıl kullanılacağını da açıklar (yukarıdaki aynı W3 bağlantısından):

<article>ile ilgilidir <section>, ancak belirgin şekilde farklıdır. Oysa <section>içeriğin veya işlevselliğin farklı bölümlerini gruplamak <article>için kullanılırken, tek tek blog yayınları, videolar, resimler veya haber öğeleri gibi ilgili bağımsız içerik parçalarını içermek içindir. Bu şekilde düşünün - her biri kendi başına okumak için uygun olacak ve bir RSS özet akışında ayrı öğeler olarak sendikasyon yapmak mantıklı olacak birkaç içerik öğeniz varsa <article>, bunları işaretlemek için uygundur.

Örneğimizde <section id="main">blog girişleri var. Her blog girişi RSS beslemesinde bir öğe olarak sendikasyon için uygun olacaktır ve kendi başına, bağlam dışında okunduğunda mantıklı olacaktır, bu nedenle <article>onlar için mükemmeldir:

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

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

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

Basit ha? Yine de, makalelerin içine bölümleri yerleştirmenin de mantıklı olabileceğini unutmayın. Örneğin, bu blog yayınlarının her birinin farklı bölümlerden oluşan tutarlı bir yapısı varsa, makalelerinizin içine de bölümler koyabilirsiniz. Şuna benzeyebilir:

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

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

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

13
Ayrıca: <main>, üstbilgi ve altbilgi (görüntüdeki mavi bloklar) arasındaki öğeleri sarmak için kullanılabilir. <figure> görüntüleri makaleler veya bölümlerin içine sarar.
mantık ünitesi

2
İyi iş. Bu kabul edilen cevap olmalı. Eklemeniz gereken mantık birimine katılıyorum main.
Chuck Le Butt

1
Resmi makalelerdeki bölümle güncellemelisiniz.
K - SO'da toksisite artıyor.

Makale ve bölüm arasındaki bu savaşın karışıklıktan dolayı şimdi devam edeceğini hissediyorum. Ancak Justin Im% 100 bölüm üzerinde makaleyi kullanımınız için bölüm olarak belgelerin bölümleri (gösterdiğiniz gibi) tek başına, belgenin İÇİNDE bağımsız içerik (ve böylece bölümleri) geçerlidir. Anlamsal olarak, "bölüm" terimi zaten eski div bölümlerinin yerine daha mantıklıdır. Aferin!
Stokely

1
Ayrıca daha <header> ve <altbilgi> <makalesinde> içeride bir şey gerekiyorsa daha özgü <bölüm> kullanabilirsiniz
Ric

131

Kulağa "bölümler" in her birini (aradığınız gibi) <article>etiketlere ve makaledeki <section>etiketlere girişlere sarmanız gerekir .

HTML5 Spec (Bölüm) der ki:

Bölüm öğesi, bir belgenin veya uygulamanın genel bir bölümünü temsil eder. Bu bağlamda bir bölüm, tipik olarak bir başlık içeren içeriğin tematik bir gruplandırmasıdır. [...]

Bölümlere örnek olarak bölümler, sekmeli iletişim kutusundaki çeşitli sekmeli sayfalar veya tezin numaralı bölümleri verilebilir. Bir Web sitesinin ana sayfası tanıtım, haber öğeleri ve iletişim bilgileri için bölümlere ayrılabilir.

Not : Yazarlar, elemanın içeriğini sendikalaştırmak mantıklı olduğunda bölüm öğesi yerine makale öğesini kullanmaya teşvik edilir.

Ve Makale için

Eşya öğesi, bir belge, sayfa, uygulama veya sitedeki müstakil bir bileşimi temsil eder ve prensip olarak bağımsız olarak dağıtılabilir veya yeniden kullanılabilir, örneğin sendikasyonda. Bu bir forum gönderisi, dergi veya gazete makalesi, blog girişi, kullanıcı tarafından gönderilen bir yorum, etkileşimli bir widget veya gadget veya başka herhangi bir bağımsız içerik öğesi olabilir.

Ben OP "bölümler" dediğiniz şey bağımsız olarak dağıtılabilir veya yeniden kullanılabilir olarak görebiliyorum makale tanımına uygun düşünüyorum .

Güncelleme: HTML 5.1 içinarticle en son editör taslağında bazı küçük metin değişiklikleri (italik değişiklikler):

Eşya öğesi , bir belge, sayfa, uygulama veya sitedeki eksiksiz veya müstakil bir kompozisyonu temsil eder ve prensip olarak bağımsız olarak dağıtılabilir veya yeniden kullanılabilir, örneğin sendikasyonda. Bu bir forum gönderisi, dergi veya gazete makalesi, blog girişi, kullanıcı tarafından gönderilen bir yorum, etkileşimli bir widget veya gadget veya başka herhangi bir bağımsız içerik öğesi olabilir.

Ayrıca, ilgili Kamu HTML posta listesinde tartışma articleiçinde Ocak ve Şubat 2013.


17
Web'de arama yaparken, okunan yasal bir belgeyle karşılaştım Article 1, Section 2, Clause 3. Umarım bu mantığı hatırlamama yardımcı olur.
commonpike

3
Bir dereceye kadar katılmıyorum, fakat aynı zamanda içeriğe bağlı olarak değiştirilebileceklerine de inanıyorum. Teknik özellik açıklamalarını okumak bana articlebir "widget" gibi davranırsa bunun tam tersi olması gerektiğini gösteriyor . section: "tematik gruplama" ve "belgenin bölümü". article: "bağımsız" ve "widget". Codepen.io/anon/pen/iDEwf
daleyjem

2
Neden tek bir forum gönderisinin makale oluşturduğunu söylüyorlar ? Bir forum yazısı, iş parçacığının imho'su olmadan tamamlanmaz.
masterxilo

7
Bu geriye dönük. W3C section, bunun tematik bir içerik grubu olduğunu ve articlebağımsız bir öğe (yani bir tema olarak gruplandırılabileceğini) açıkça belirtir . Bir gazete gibi düşünün: Her bölümde birçok makale bulacaksınız. Örneğin, Eğlence bölümündeki film inceleme makaleleri.
Chuck Le Butt

3
@Chuck ile aynı fikirde olmak. Kitabımda bu cevap tamamen geriye dönük. Justin'in cevabı çok daha uygun. Ama oh, sanırım spec yorumlamak için çok yer bırakıyor. Bu kötü ya da iyi bir şey olsa emin değilim.
maryisdead

39

<article>Sayfadaki diğer bloklarla tamamen ilgisiz bir metin bloğu için kullanırım . <section>diğer yandan, birbiriyle ilişkili bir belgeyi ayırmak için bir bölücü olacaktır.

Şimdi, videolarınızda, haber beslemenizde vb. Neler olduğundan emin değilim, ancak burada bir örnek (GERÇEK doğru veya yanlış yok, sadece bu etiketleri nasıl kullandığımın bir kılavuzu var):

<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>

Gördüğünüz gibi, bölümler hala birbiriyle alakalıdır, ancak onları gruplayan bir blok içinde oldukları sürece. DONT bölümleri makalelerin içinde olmalıdır. Belgenin gövdesinde olabilirler, ancak belgenin tamamı bir makale olduğunda gövdede bölümler kullanırım.

Örneğin

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

Umarım bu mantıklıdır.


5
I'd use <article> for a text block that is totally unrelated to the other blocks on the page.Bunu 2011'de yazdığını biliyorum, ama <aside>etiket bunun için uygun değil mi?
MyDaftQuestions

19

Kullanılan kelimelerin standart anlamına bağlı kalmayı seviyorum: An article, makaleler için geçerlidir. Blog gönderilerini, belgeleri ve haber makalelerini şöyle tanımlarım articles. Bölümler ise, düzen / ux öğelerine atıfta bulunur: kenar çubuğu, üstbilgi, altbilgi bölümler olacaktır. Ancak bu tamamen kendi kişisel yorumumdur - belirttiğiniz gibi, bu unsurların özellikleri iyi tanımlanmamıştır.

Bunu destekleyen w3c , bir articleöğeyi bağımsız olarak kendi başına durabilen bir içerik bölümü olarak tanımlar . Bir blog yayını, değerli ve sarf edilebilir bir içerik öğesi olarak kendi başına durabilir. Ancak, bir başlık olmaz.

İşte biri hakkında ilginç bir makale, iki yeni unsur arasında ayrım yapmaya çalışırken delilik. Makalenin de doğru olduğunu düşündüğüm temel noktası, en iyi hissettiğin öğeyi aslında içerdiği şeyi temsil etmeye çalışmaktır.

Daha sorunlu olan, makale ve bölümün çok benzer olmasıdır. Onları ayıran tek şey “müstakil” kelimesidir. Bazı zor ve hızlı kurallar olsaydı hangi öğenin kullanılacağına karar vermek kolay olurdu. Bunun yerine, bu bir yorum meselesidir. Bir bölüm içinde birden çok makaleniz olabilir, içinde birden çok bölüm olabilir ve makale, bölümlerin içinde bölümleri ve bölümler içindeki makaleleri iç içe yerleştirebilirsiniz. Herhangi bir durumda hangi öğenin semantik olarak en uygun olduğuna karar vermek size kalmıştır.

Burada SO üzerinde aynı soruya çok iyi bir cevap


8

Aşağıdaki akış şeması, çeşitli semantik HTML5 öğelerinden birini seçerken yardımcı olabilir: resim açıklamasını buraya girin


5

Bölüm

  • Düzeninizin bir bölümünü tanımlamak için bunu kullanın. Olabilir mid, left,right vb ..
  • Bu, başka bir elementle bağlantı anlamına gelir, basitçe söylemek gerekirse, BAĞIMLI.

makale

  • Kendi başına mantıklı olan bağımsız içeriğiniz olduğunda bunu kullanın.

  • Makalenin kendi anlamı vardır.


3

Bir bölüm temel olarak h1(veya diğer hetiketler) ve buna karşılık gelen içerik için bir sargıdır . birarticle aslında belgenizde tekrarlanan veya sayfalanan bir belgedir ... belgenizdeki her blog yazısı bir makale olabilir veya belgenizdeki her yorum bir makale olabilir.


1

ayrıca, birleştirilmiş içerik için "Yazarlar, öğenin içeriğini sendikasyon yapmak mantıklı olduğunda bölüm öğesi yerine makale öğesini kullanmaya teşvik edilir."


0

Benim yorumum: YouTube'da bir yorum bölümü olduğunu düşünüyorum ve yorum bölümünde birden fazla makale var (bu durumda yorumlar).

Yani bir bölüm makaleleri tutan bir div-konteyner gibidir.


-2

Makale ve Bölüm, HTML5'in hem semantik öğeleridir. Bölüm, bir web sayfasının blok düzeyinde genel bölümüdür, ancak web sayfası içeriğimizle ilgilidir. Makale ayrıca blok düzeyindedir, ancak makale web sayfasının tek bir blog yayınına, yorumuna atıfta bulunur.

Hem Madde hem de Bölüm h2-h6 başlık elemanlarını içermelidir.

Blog yazısı için makale ve bölüm için aşağıdaki sözdizimini kullanın.

<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>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.