Können Sie in einem HTML 5-Dokument so viele NAVs haben, wie Sie möchten?

8

Ich mag die neuen Tags aus dem HTML 5-Standard. Kann ich sie mehr als einmal benutzen?

Wie 3 <nav> -Tags oder zwei <sidebar> -Tags, und kann ich neue Tags wie <fuu> ? erfinden?

In xhtml hatte ich:

%Vor%

Ich könnte also etwas tun wie:

%Vor%

?

    
Alex 26.04.2011, 17:26
quelle

3 Antworten

13

Das <nav> -Element ist in der html5-Spezifikation definiert, aber das <sidebar> -Element ist nicht. Sie können so viele <nav> -Elemente verwenden, wie Sie möchten (solange sie nicht verschachtelt sind), aber die anderen müssen Sie eine DTD bereitstellen und hoffen, dass der von Ihren Benutzern verwendete Browser flexibel genug ist, um sie zu akzeptieren neue Elemente.

Ich würde nicht empfehlen, neue Elemente zu definieren und einfach die vorhandenen semantischen Elemente verwenden, um die gewünschten Effekte zu erzeugen.

<div class="sidebar"></div> ist gut genug und wird als sekundärer Inhalt behandelt, wenn Sie Ihren primären Inhalt in <main> einschließen, was den Browser dazu bringt zu verstehen, dass die Region keine Kopf-, Fußzeile oder primärer Inhalt ist. was auf den meisten Seiten einer Seitenleiste entspricht.

In den meisten Fällen eignet sich das Element <aside> jedoch für die Verwendung als Seitenleiste.

Laut Spezifikation:

  

Das side-Element stellt einen Abschnitt einer Seite dar, der aus Inhalt besteht, der tangential mit dem Inhalt um das side-Element verwandt ist und der getrennt von diesem Inhalt betrachtet werden kann. Solche Abschnitte werden oft als Seitenleisten in gedruckter Typografie dargestellt .

Hervorhebung von mir

    
zzzzBov 26.04.2011, 17:30
quelle
4

Das Element 'nav' sollte überall dort verwendet werden, wo die 'Hauptnavigation' stattfindet, normalerweise in der Kopfzeile Ihrer Website, aber auch an Orten, an denen Sie den Benutzer durch die aktuelle Seite navigieren lassen können.

>

Es wird normalerweise nicht benötigt, um es in Ihre Fußzeile zu legen (da es normalerweise nicht als primäre Navigation gilt), obwohl es nicht wirklich wehtun kann.

zzzzBovs Antwort ist nicht ganz korrekt, also lassen Sie mich versuchen, ein genaueres Beispiel zu geben.

Als Alternative zu 'sidebar' sollten Sie das 'side'-Tag verwenden, das normalerweise sekundären Inhalt enthält (wie Seitennavigation, Links, Anzeigen, solche Dinge).

%Vor%

Dies ist nicht semantisch eine Seitenleiste, weit davon entfernt. Das Element div wird als Hook für Styling oder JavaScript verwendet und hat keine semantische Bedeutung. Deshalb wurde das Element 'side' eingeführt. Bitte verwenden Sie das!

Wenn Sie nur einen Wrapper zum Stylen benötigen, ist ein div perfekt (sogar bevorzugt).

Als Faustregel sollte Ihr HTML Elemente enthalten, die Ihren Inhalt beschreiben . Sie können es normalerweise laut vorlesen und es wird Sinn machen.

Zum Beispiel: "Ich habe eine Liste von Navigationselementen auf der Seite meiner Seite", würde übersetzt zu:

%Vor%

Also zusammenfassend: Im Allgemeinen verwenden Sie das Navigationselement in den Hauptnavigationsbereichen, wie die Navigation in der Kopfzeile der Websites und manchmal die Navigation, die für die Navigation auf der aktuellen Seite verwendet wird.

Abschnitte einer Seite, die nicht Ihr Hauptinhalt sind (aber verwandt sein könnten), werden normalerweise in ein "beiseite" -Element eingefügt.

Hoffe, das hilft!

    
Reinier Kaper 11.10.2012 23:15
quelle
1

Es ist üblicher, eine ungeordnete Liste von Links in Ihrem nav zu verschachteln:

%Vor%

Sie können so viele nav Elemente haben, wie Sie auf Ihrer Seite benötigen, aber Sie müssen nicht jeden Link oder Satz von Links in einem nav umbrechen - nur 'Hauptnavigation' sollte in einem% co_de sein % Element. Es gibt eine gute Einführung in nav in diesem HTML5 Doctor-Beitrag .

Für Seitenleisten müssen Sie kein eigenes Element erfinden. Verwenden Sie dazu das nav -Element für sie.

Sie können Ihre eigenen Elemente erfinden und Ihr Markup funktioniert weiterhin in einem HTML5-kompatiblen Browser, dem HTML5-Tokenisierungsalgorithmus interessiert nicht, welche Tag-Namen Sie verwenden, solange sie den Regeln folgen, aber Sie würden dann nicht HTML5 schreiben, also ist es sinnlos. Ich empfehle, den Abschnitt "Konformitätsanforderungen für Autoren" durchzulesen am Anfang der Spezifikation, insbesondere das Bit "Fälle, die wahrscheinlich Tippfehler sind":

  

Wenn ein Benutzer einen einfachen Tippfehler macht, ist es   hilfreich, wenn der Fehler behoben werden kann   früh, da dies den Autor retten kann   viel Debugging-Zeit. Dies   Spezifikation daher in der Regel   hält es für einen Fehler, ein Element zu verwenden   Namen, Attributnamen und so weiter,   die nicht mit den in definierten Namen übereinstimmen   diese Spezifikation.

    
robertc 27.04.2011 22:31
quelle

Tags und Links