Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]Kiedy używać tabeli
Forum PHP.pl > Forum > Przedszkole
grzes999
Witam
Mam nie tyle problem co dylemat.
Zawsze przy kodowaniu stron zastanawiam się czy w tym miejscu nie użyć tabeli bo było by szybciej niż divem.
Niby czytałem co W3C pisze na ten temat; ale nadal nie rozwiało to moich wątpliwości.
Oczywiste jest, że szkielet strony nie może być oparty na tabeli.
Ale mam taki przykład wyświetlania ocen.



Można to zrobić na dwa sposoby ale tabela wydaje mi się szybsza w takich przypadkach.
Tak że czekam na opinie bardziej zaawansowanych od mnie koderów, którzy na pewno rozwieją moje wątpliwości.
maniana
Jeśli coś ma pełnić funkcję tabeli to właśnie jej używam.
Niktoś
Też mnie to zastanawia.Mówią ,że tabele to zło,a powinno się ich używać do danych tabelarycznych.Co jeśli dane tabelaryczne przyjmują formę prezentacyjną czy to jest zło?
W php może i tego nie widać, w NET C# tabele przyjmują charakter kondensujący dane i używane przy rożnych data adapterach.Czego akurat zrobiono to na table, a nie na divach,czy table jest bardziej stabilniejsze jako kontener danych ,tego nie wiem.Wiem tylko ,że nawet baza danych wspiera tag TABLE ,która za pomocą specjalnego typu stucted , potrafi jednorazowo zrzucić dane całej tabeli html do bazy danych.Pewnie nie zrobiono tego na divach ,gdyż table posiada kolumny i wiersze i swoją strukturą jest zbliżona do bazy danych.
W c#.net wiele ,bardzo wiele kontrolek generuje w kodzie źródłowym tag table,więc nie wydaje mi się to złem,lecz do układu/struktury strony preferuje użycie div.

EDIT.Ja bym się nie bał używać tagu table,lecz robiłbym to z głową.A w kwestii ankiety,nie ma ona sensu ,bo każdy tag spełnia jakies swoje zadanie.Można by równie dobrze zaznaczyć dwie opcje.
kamil4u
Generalnie w tym wypadku to bez różnicy jak to zrobisz. Grzechem nie będzie jak to zrobisz na tabeli.
Osobiście raczej bym wybrał inne znaczniki, niż table, ale to bardziej kwestia gustu, niż dobrych praktyk, więc zrób tak jak będzie dla Ciebie wygodniej.

--edit--
Cytat
Też mnie to zastanawia.Mówią ,że tabele to zło,a powinno się ich używać do danych tabelarycznych.Co jeśli dane tabelaryczne przyjmują formę prezentacyjną czy to jest zło?

Mówią, że zło, ale mają na to argumenty, główny to możliwość szybszej edycji strony, niż na tabelkach( mowa o układzie strony ). Jeżeli argumenty przeciw tabelkom nie dotyczą jakieś kwestii to śmiało można ich używać - a tak jest w tym przypadku. Jednak jak napisałeś( ~Niktoś ) trzeba to robić z głową!

--edit2--
Link z argumentami: http://osiolki.net/tabelki/
by_ikar
W tym wypadku tabela i div to można powiedzieć prawie ta sama ilość kodu do napisania, a dokładnie to w przypadku tabeli byłoby to kilka znaczników więcej. I mogłoby to wyglądać mniej więcej tak:

  1. <div class="container">
  2. <div class="column">
  3. <div class="row"></div>
  4. </div>
  5. <div class="column">
  6. <div class="row"></div>
  7. <div class="row"></div>
  8. <div class="row"></div>
  9. </div>
  10. <div class="column">
  11. <div class="row"></div>
  12. <div class="row"></div>
  13. <div class="row"></div>
  14. </div>
  15. <div class="column">
  16. <div class="row"></div>
  17. <div class="row"></div>
  18. <div class="row"></div>
  19. <div class="row"></div>
  20. </div>
  21. <div class="column">
  22. <div class="row"></div>
  23. <div class="row"></div>
  24. <div class="row"></div>
  25. <div class="row"></div>
  26. </div>
  27. </div>
  28.  
  29. <div class="container">
  30. <tr>
  31. <td>
  32. <div class="row"></div>
  33. </td>
  34. <td>
  35. <div class="row"></div>
  36. <div class="row"></div>
  37. <div class="row"></div>
  38. </td>
  39. <td>
  40. <div class="row"></div>
  41. <div class="row"></div>
  42. <div class="row"></div>
  43. </td>
  44. <td>
  45. <div class="row"></div>
  46. <div class="row"></div>
  47. <div class="row"></div>
  48. <div class="row"></div>
  49. </td>
  50. <td>
  51. <div class="row"></div>
  52. <div class="row"></div>
  53. <div class="row"></div>
  54. <div class="row"></div>
  55. </td>
  56. </tr>
  57. </table>
  58. </div>


I akurat w tym twoim przypadku lepiej to wygląda na divach, niż na tabelce.
Niktoś
Tyko kolumny,czy wiersze w przypadku div już musisz dodatkowo pozycjonować i stylizować -bordery itp.
Crozin
W tym przypadku to masz raczej listy, które nawet swoim wyglądem nie przypominają danych tabelarycznych. Tak więc od strony HTML-a, to raczej coś w stylu:
  1. <div id="some-container">
  2. <div id="list-summary">
  3. <p>Średnia ocen: <img ... /></p>
  4. <p>Ilość ocen: <span>12</span></p>
  5. </div>
  6.  
  7. <ul>
  8. <li><p>Pokoje: <span>5.46 <img ... /></span></p></li>
  9. ...
  10. </ul>
  11.  
  12. <ul>
  13. <li><p>Dla dwojga: <span>5.46 <img ... /></span></p></li>
  14. ...
  15. </ul>
  16. </div>
grzes999
Widzę, że jednak opinii jest ile osób wypowiadających się smile.gif
i póki co jestem bardziej skłonny do tabeli ale też wypróbuję sposób Crozin `a gdyż też wydaje się dość prosty.
Tak czy inaczej jeśli ktoś zechce się wypowiedzieć na ten temat nadal czekam. Myślę, że może on pomóc nie tylko mi ale i innym osobom mającym podobne dylematy.
lukesh
Ja bym do wspomnianego przykładu zdecydowanie użył tabeli, ponieważ są to dane, które strukturą przypominają tabelę. Opcja z listą też jest do zaakceptowania. Natomiast użycie divów zupełnie w tym wypadku odpada, ponieważ tak prezentowane dane byłyby problemem dla użytkowników słabo widzących i niewidomych, którzy korzystają z oprogramowania, które przetwarza strony na głos. Wspominałem to już w jednym z moich poprzednich postów na tym forum, że może w Polsce nie mamy jeszcze żadnych restrykcyjnych przepisów, ale w innych krajach często kładzie się już nacisk na to, aby dostawcy usług internetowych tworzyli swoje strony w oparciu o standardy W3C tak, aby były one dostępne dla osób niewidomych. W Anglii niestosowanie się do takich wytycznych może grozić grzywną. W Polsce na razie są tylko kampanie informacyjne (http://www.bezdyskryminacji.pl/), ale zapewne z czasem i nas spotka sytuacja, kiedy webmaster będzie odpowiedzialny za dostosowanie strony dla niewidomych, tak jak konstruktorzy budynków są zobowiązani do projektowania uwzględniając potrzeby niepełnosprawnych.
Reasumując - jeśli macie jakieś wątpliwości, których znaczników używać, wyobraźcie sobie, że na Waszą stronę wchodzi osoba, która nie widzi, a może jedynie słyszeć - i teraz pytanie: co słyszy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.