Szukaj…


Uwagi

Standardy HTML5 nie wymieniają głównego elementu jako elementu przekroju.

Element artykułu

Element <article> zawiera niezależne treści, takie jak artykuły, posty na blogu, komentarze użytkowników lub interaktywny widżet, który może być dystrybuowany poza kontekstem strony, na przykład przez RSS.

  • Gdy elementy artykułu są zagnieżdżone, zawartość wewnętrznego węzła artykułu powinna być powiązana z zewnętrznym elementem artykułu.

Blog ( section ) z wieloma postami ( article ) i komentarzami ( article ) może wyglądać mniej więcej tak.

<section>
    <!-- Each individual blog post is an <article> -->
    <article>
        <header>
            <h1>Blog Post</h1>
            <time datetime="2016-03-13">13th March 2016</time>
        </header>

        <p>The article element represents a self contained article or document.</p>
        <p>The section element represents a grouping of content.</p>

        <section>
            <h2>Comments <small>relating to "Blog Post"</small></h2>

            <!-- Related comment is also a self-contained article -->
            <article id="user-comment-1">
                <p>Excellent!</p>
                <footer><p>...</p><time>...</time></footer>
            </article>
        </section>
    </article>

    <!-- ./repeat: <article> -->

</section>

<!-- Content unrelated to the blog or posts should be outside the section. -->
<footer>
    <p>This content should be unrelated to the blog.</p>
</footer>

Unikaj niepotrzebnego użytkowania

Gdy główna zawartość strony (z wyłączeniem nagłówków, stopek, pasków nawigacji itp.) To po prostu jedna grupa elementów. Możesz pominąć element <article> na korzyść elementu <main> .

<article>
    <p>This doesn't make sense, this article has no real `context`.</p>
</article>

Zamiast tego zamień artykuł na element <main> , aby wskazać, że jest to main treść tej strony.

<main>
    <p>I'm the main content, I don't need to belong to an article.</p>
</main>

Jeśli używasz innego elementu, upewnij się, że określasz rolę <main> ARIA dla poprawnej interpretacji i renderowania na wielu urządzeniach i przeglądarkach innych niż HTML5.

<section role="main">
    <p>This section is the main content of this page.</p>
</section>

Uwagi:

Kliknij tutaj, aby przeczytać oficjalną specyfikację HTML5 dla elementu <article>

Główny element

Element <main> zawiera główną treść twojej strony internetowej. Ta treść jest unikalna dla poszczególnych stron i nie powinna pojawiać się w innym miejscu witryny. Powtarzające się treści, takie jak nagłówki, stopki, nawigacja, logo itp., Są umieszczane poza elementem.

  • Element <main> powinien być kiedykolwiek użyty tylko raz na jednej stronie.
  • Element <main> nie może być dołączony jako element potomny article , aside , footer , header lub element nav .

W poniższym przykładzie wyświetlamy pojedynczy post na blogu (i powiązane informacje, takie jak referencje i komentarze).

<body>
    <header>
        <nav>...</nav>
    </header>

    <main>
        <h1>Individual Blog Post</h1>
        <p>An introduction for the post.</p>

        <article>
            <h2>References</h2>
            <p>...</p>
        </article>

        <article>
            <h2>Comments</h2> ...
        </article>
    </main>

    <footer>...</footer>
</body>
  • Wpis na blogu jest zawarty w elemencie <main> , aby wskazać, że jest to główna treść tej strony (i dlatego jest unikalna w całej witrynie).

  • Znaczniki <header> i <footer>rodzeństwem elementu <main> .


Uwagi:

Specyfikacja HTML5 rozpoznaje element <main> jako element grupujący , a nie element dzielący .

Dodanie atrybutu role="main" ARIA do innych elementów, które mają być używane jako główna zawartość, jest zalecane, aby pomóc agentom użytkownika, które nie obsługują HTML5, a także zapewnić większy kontekst dla tych, którzy to robią.

Element <main> domyślnie pełni główną rolę, dlatego nie trzeba go podawać.

Kliknij tutaj, aby przeczytać oficjalną specyfikację HTML5 dla elementu <main>

Element Nav

Element <nav> jest przeznaczony przede wszystkim do stosowania w sekcjach zawierających główne bloki nawigacyjne dla strony internetowej, może to obejmować linki do innych części strony internetowej (np. Kotwice dla spisu treści) lub innych stron w całości.

Przedmioty wbudowane

Poniżej zostanie wyświetlony wbudowany zestaw hiperłączy.

<nav>
    <a href="https://google.com">Google</a>
    <a href="https://www.yahoo.com">Yahoo!</a>
    <a href="https://www.bing.com">Bing</a>
</nav>

W razie potrzeby użyj elementów listy

Jeśli treść reprezentuje listę elementów, użyj elementu listy, aby to pokazać i poprawić wrażenia użytkownika.

Zwróć uwagę na role="navigation" , więcej na ten temat poniżej.

<nav role="navigation">
    <ul>
        <li><a href="https://google.com">Google</a></li>
        <li><a href="https://www.yahoo.com">Yahoo!</a></li>
        <li><a href="https://www.bing.com">Bing</a></li>
    </ul>
</nav>

Unikaj niepotrzebnego użytkowania

Elementy <footer> mogą zawierać listę linków do innych części witryny (FAQ, regulamin itp.). Sam element stopki jest w tym przypadku wystarczający, nie musisz dalej owijać linków elementem <nav> w <footer> .

<!-- the <nav> is not required in the <footer> -->
<footer>
    <nav>
        <a href="#">...</a>
    </nav>
</footer>

<!-- The footer alone is sufficient -->
<footer>
    <a href="#">...</a>
</footer>

Uwagi:

Dodanie role="navigation" ARIA role="navigation" do elementu <nav> jest zalecane, aby pomóc agentom użytkownika, które nie obsługują HTML5, a także zapewnić większy kontekst dla tych, którzy to robią.

<nav role="navigation"><!-- ... --></nav>

Czytniki ekranu: (oprogramowanie, które pozwala użytkownikom niewidomym lub niedowidzącym poruszać się po stronie)

Programy użytkownika, takie jak czytniki ekranu, interpretują element <nav> różny sposób w zależności od ich wymagań.

  • Może nadać elementowi <nav> wyższy priorytet podczas renderowania strony
  • Może to opóźnić renderowanie elementu
  • Może dostosować stronę w określony sposób, aby dostosować ją do potrzeb użytkownika
    przykład: powiększ łącza tekstowe w elementach <nav> dla osoby niedowidzącej.

Kliknij tutaj, aby przeczytać oficjalną specyfikację HTML5 dla elementu <nav>

Element sekcji

Element <section> reprezentuje ogólną sekcję tematycznie grupującej treść. Każda sekcja powinna zazwyczaj być identyfikowana z elementem nagłówka jako element potomny section .

  • Możesz użyć elementu <section> w <article> i odwrotnie.
  • Każda sekcja powinna mieć motyw (element nagłówka identyfikujący ten region)
  • Nie używaj elementu <section> jako ogólnego „kontenera” stylu.
    Jeśli potrzebujesz kontenera do zastosowania stylizacji, użyj zamiast niego <div> .

W poniższym przykładzie wyświetlamy pojedynczy post na blogu z wieloma rozdziałami, każdy rozdział to sekcja (zbiór tematycznie pogrupowanych treści, które można zidentyfikować za pomocą elementów nagłówka w każdej sekcji) .

<article>
    <header>
        <h2>Blog Post</h2>
    </header>
    <p>An introduction for the post.</p>
    <section>
        <h3>Chapter 1</h3>
        <p>...</p>
    </section>
    <section>
        <h3>Chapter 2</h3>
        <p>...</p>
    </section>
    <section>
        <h3>Comments</h3> ...
    </section>
</article>

Uwagi:

Deweloperzy powinni używać elementu article , gdy ma sens syndykowanie zawartości tego elementu.

Kliknij tutaj, aby przeczytać oficjalną specyfikację HTML5 dla elementu <main>

Element nagłówka

Element <header> reprezentuje treść wprowadzającą dla jego najbliższego przodka, który tworzy sekcję lub element główny sekcji. <header> zazwyczaj zawiera grupę pomocy wprowadzających lub nawigacyjnych.

Uwaga: Element nagłówka nie jest sekcją treści; nie wprowadza nowej sekcji.


Przykłady:

<header>
  <p>Welcome to...</p>
  <h1>Voidwars!</h1>
</header>

W tym przykładzie <article> ma <header> .

<article>
  <header>
    <h1>Flexbox: The definitive guide</h1>
  </header>
  <p>The guide about Flexbox was supposed to be here, but it turned out Wes wasn’t a Flexbox expert either.</p>
</article>

Proponowane zalecenie W3C

Element stopki

Element <footer> zawiera część stopki strony.

Oto przykład elementu <footer> , który zawiera znacznik akapitu p .

<footer>
    <p>All rights reserved</p>
</footer>


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow