Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML]Kiedy używać tabeli
Tabela czy Div
Czego używasz w takich przypadkach?
tabela [ 7 ] ** [58.33%]
div [ 5 ] ** [41.67%]
Suma głosów: 12
Goście nie mogą głosować 
grzes999
post 17.04.2012, 10:42:58
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


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.

Ten post edytował grzes999 17.04.2012, 10:43:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
maniana
post 17.04.2012, 10:45:03
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 18.05.2007

Ostrzeżenie: (0%)
-----


Jeśli coś ma pełnić funkcję tabeli to właśnie jej używam.

Ten post edytował maniana 18.04.2012, 08:46:18
Go to the top of the page
+Quote Post
Niktoś
post 17.04.2012, 11:09:36
Post #3





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


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.

Ten post edytował Niktoś 17.04.2012, 11:35:59
Go to the top of the page
+Quote Post
kamil4u
post 17.04.2012, 12:21:40
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


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/

Ten post edytował kamil4u 17.04.2012, 12:25:24


--------------------
Go to the top of the page
+Quote Post
by_ikar
post 17.04.2012, 12:23:31
Post #5





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Niktoś
post 17.04.2012, 12:46:17
Post #6





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Tyko kolumny,czy wiersze w przypadku div już musisz dodatkowo pozycjonować i stylizować -bordery itp.
Go to the top of the page
+Quote Post
Crozin
post 17.04.2012, 16:58:27
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
grzes999
post 17.04.2012, 22:57:58
Post #8





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
lukesh
post 17.04.2012, 23:21:36
Post #9





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

Ostrzeżenie: (0%)
-----


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?


--------------------
Edumemo.pl - Nauka Języków Obcych
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 20:39