Menu - lista, czy divy?


(bogacz225) #1

Witam, ma znaczenie w jaki sposób przeglądarka interpretuje menu, jeśli jest one w tagach

    lub
    (tutaj mam na myśli, że każdy element nie jest elementem listy, tylko pojedynczym divem)? Oczywiście całość w tagach . Zastanawiam się po prostu, czy jest jakaś różnica pomiędzy tymi rozwiązaniami. 

     

    Przykład: http://wklej.org/id/3004682/


(Fizyda) #2

Interpretacja będzie zależna od styli css, bez resetowania styli będą duże różnice choćby ze względu na to jak wyświetlane są div’y a jak poszczególne elementy list.

 

Osobiście chyba nie widziałem zrobionego menu w divach bo to dziwne, nienaturalne i mało czytelne. Menu to lista pozycji więc naturalnym jest że używa się do jego wyświetlenia listy nieuporządkowanej. To trochę tak jakbyś chciał użyć  znaczników header do wyświetlania footera, da się przeglądarka to wyświetli, ale jak ktoś będzie patrzył w kod to zgłupieje gdzie co jest.


(bogacz225) #3

 

No nie do końca :slight_smile: Dla footera przeznaczona jest określona funkcjonalność. Tutaj całe menu wrzucamy w tag <nav> co także określa z góry za co będzie odpowiadać, prawda?

 

Okey, do zrobienia rozwijanego menu trzeba zagnieżdżać listę, ta? Inaczej się nie da? 


(lukasssz) #4

w html nie funkcji, są znaczniki.

Masz racje w tag <nav> co także określa z góry za co będzie odpowiadać i  tu jest właśnie sedno sprawy, tylko określa, czasami formatuje nic więcej.

Dzięki czemu bardziej zrozumiałe jest to dla przeglądarki.

Dla tego nawet znacznik nav możesz zrobić tak, że będzie wyglądać jak  nagłówek, stopka, czy  jakkolwiek inaczej.

A headera jako footera a footera jako menu.

Zrobi się bajzer, nie wspominając o nie trzymaniu się standardów, ale się da.

 

W sumie to tylko wyobraźnia cię powstrzymuje. Da się na wiele sposobów. Ale w ten sposób najpraktyczniej.


(bogacz225) #5

 Wiem, że się da, ale jak to będzie wtedy z semantyką dokumentu? O to tutaj chodzi :slight_smile:


(Fizyda) #6

Nie, chodzi o semantykę, nic więcej. Jedyne gdzie ma to zastosowanie to w przypadku niektórych robotów indeksujących - łatwiej algorytmowi zrozumieć stronę, oraz dla programistów. Przeglądarce to wszystko jedno. div nav footer header section main to takie same kontenery tylko z inną nazwą tagu html. W większości przeglądarkach traktowane są bez najmniejszej różnicy i ostylowane domyślnie są w taki sam sposób.

Jeśli chcesz robić zagnieżdżone menu na podsatwie listy to tak musisz ją zagnieździć.

<ul>

  <li>

    <span>Top Menu</span

    <ul>

      <li>SubMenu</li>

    </ul>

  </li>

  

  <li>Menu</li>

</ul