Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wracajmy do tabelek!
bigZbig
post
Post #101





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Siedziałeś, męczyłeś się starając się usilnie przebudować swoją stronę opartą o tabele zgodnie z najnowszymi trendami zalecającymi używanie do konstruowania struktury strony divów. I co? Przeciętny użytkownik nie doceni Twojej pracy bo się na tym nie zna, a witryna w najlepszym wypadku wygląda tak samo.

Ile razy słyszałeś, że strukturę strony nie powinno się konstruować w oparciu o tabelki:
  • bo to nie jest tabelka,
  • bo produkujesz nadmiarowy kod,
  • bo to jest rozwiązanie nieelastyczne i trudne do przebudowy,
  • bo tagi tabeli są preformatowane.
Ile razy słyszałeś te argumenty? Zapewne wiele - no i w końcu uwierzyłeś. Ja też uwierzyłem. Zatriumfowała stara Goebbelowskiej zasada, że często powtarzane kłamstwo w końcu staje się prawdą.

Zadajmy sobie pytanie, czy struktura strony faktycznie nie ma nic wspólnego z tabelką? Zapewne są takie strony, w odniesieniu do których powyższe zdanie jest prawdziwe, ale zdecydowana większość szkieletów stron jest mniej lub bardziej złożoną tabelą i choć nie widać granic poszczególnych komórek nie dajcie sobie wmówić, że tak nie jest. Utalentowany designer potrafi w swoim projekcie wyjść poza ramy tabeli sięgając w przypadku wybranych elementów do pozycjonowania tudzież innych technik umożliwiających uzyskanie efektu niemożliwego do osiągnięcia przy zastosowaniu tradycyjnych tabel, ale czy te przemyślne techniki powinny być używane do emulowania struktury tabelarycznej?

Ponoć wraz ze stosowaniem tabel zmniejsza się czytelność kodu i produkuje się nadmiarowe tagi. Pomijając to, że w przypadku stosowania divów część formatująca kodu zostaje przeniesiona do arkusza styli mógłbym się zgodzić z poglądem, że na wczesnym etapie projektu kod strony opartej o divy jest czytelniejszy. Proszę zwrócić szczególną uwagę na sformułowanie „na wczesnym etapie projektu”. Z czasem projekt zaczyna się komplikować, rozrastać – szkielet strony wypełniany jest treścią, która również często zorganizowana jest w jakąś hierarchię, jakiś układ. Divy się zagnieżdżają. Z czasem zaczynasz odkrywać potrzebę stosowania dodatkowych kontenerów i nim się spostrzeżesz Twój kod staje się śmietnikiem, który trzyma się kupy dzięki różnego rodzaju trikom, hakom i obejściom. A miało być tak przyjaźnie i elastycznie.

Przesadziłem. Nikt nie twierdzi – przynajmniej ja się z taką opinią nie spotkałem – że używanie divów do budowy układu tabelarycznego jest prostsze od bezpośredniego zastosowania tabel. Co do elastyczności i łatwości ewentualnej przebudowy struktury strony opartej o divy to ja się proponuję zastanowić indywidualnie każdemu, kto taki twór stworzył. Prosty przykład. Masz klasyczny trójkolumnowy podział strony z nagłówkiem na górze i stopką jak sama nazwa wskazuje na dole. Zrób tak aby tak skonstruowana tabela zajmowała określoną szerokość, i aby szerokość każdej z kolumn był z góry określony. Proste prawda? No to teraz przerób ten układ w ten sposób aby tabela dostosowywała się do wielkości okna przeglądarki poprzez poszerzenie środkowej kolumny. Jeśli przewidziałeś taki manewr to obeszło się bez ingerencji we wzajemne położenie divów. Ok. to teraz zamień kolumny miejscami ;). Czy robisz to przy pomocy tabel czy divów musisz przebudować strukturę strony. Możesz co prawda zastosować pozycjonowanie i w sposób dowolny przemieszczać elementy w oknie przeglądarki, ale tylko pod warunkiem ustalenia z góry ich szerokości i wysokości. W innym przypadku nie ma to większego sensu.

Podążając w stronę słusznie lansowanej idei by oddzielić treść strony od sposobu jej prezentowania konsorcjum W3C stworzyło XHTMLa, jako standard przejściowy pomiędzy HTMLem a czystym XMLem, w którym nie ma z góry zdefiniowanych tagów, a sposób ich formatowania zależy tylko i wyłącznie od definicji zawartych w arkuszach styli CSS czy XSL. Chcąc być jak najbardziej po drodze z wyżej wspomnianą ideą powinniśmy unikać predefiniowanych tagów, a więc na dobre wszystkiego oprócz divów i znaczników span (choć i te są predefiniowane – w końcu jedne są wyświetlane blokowo a drugie liniowo. Bądźmy konsekwentni – skoro unikamy <table> do konstruowania struktur tabelarycznych to powinniśmy także wystrzegać się <ul> do konstruowania list, a <p> do oznaczania paragrafów. Dlaczego łamiemy tekst przy pomocy znacznika <br> a wyróżniamy go tagiem <strong>. Miłośników divów chciałbym zapytać dlaczego do tworzenia horyzontalnego menu używają listy? Przecież menu nie jest listą.

Nie jestem zagorzałym przeciwnikiem techniki opływania czy pozycjonowania, ale uważam, że w chwili obecnej są one nadużywane. W końcu ideą opływania miało być otoczenie obrazka lub niewielkiego bloku tekstem, a nie konstruowanie układów tabelarycznych. Myślę, że nie do tego zostało również wymyślone pozycjonowanie. To prawda, że kreatywny programista, czy designer nie zawsze używa technologii zgodnie z ich pierwotnym przeznaczeniem, tylko znajduje dla niech zastosowanie tam gdzie nikt by się nie spodziewał, ale w tym wypadku opływanie i pozycjonowanie to nie łyżka stołowa, która nadaje się do kopania równie dobrze jak łopatka.
Go to the top of the page
+Quote Post

Posty w temacie
- bigZbig   Wracajmy do tabelek!   21.06.2006, 08:25:26
- - Marusz   No… nie. Dodaj sobie do styli: [HTML] pobier...   2.10.2006, 21:37:33
- - slammer   moze wystarczy dac poprostu "height: auto;...   2.10.2006, 21:52:29
- - Seth   Nie wystarczy Zreszt sam sprawdz. Co do usunieci...   2.10.2006, 21:59:56
- - strife   Tak sobie czytam to co piszecie, i powiem wam, ...   2.10.2006, 23:11:08
- - gszesiek   kurcze KOPALNIA dzięki   2.10.2006, 23:40:38
- - siemakuba   IMHO do momentu kiedy rozważania o ciężkich do uzy...   3.10.2006, 00:03:16
- - no-name   A może by tak ugryź temat z innej strony? Co takie...   3.10.2006, 07:51:59
|- - mike_mech   Cytat(no-name @ 3.10.2006, 08:51...   3.10.2006, 08:02:17
|- - gWd   Cytat(no-name @ 3.10.2006, 08:51...   3.10.2006, 10:12:53
|- - mike_mech   Cytat(gWd @ 3.10.2006, 11:12:53 ) (.....   3.10.2006, 10:23:03
|- - kszychu   Cytat(mike_mech @ 3.10.2006, 11:23:03...   3.10.2006, 10:41:41
||- - mike_mech   Cytat(kszychu @ 3.10.2006, 11:41:41 )...   3.10.2006, 10:42:41
|- - gWd   Cytat(mike_mech @ 3.10.2006, 11:23:03...   3.10.2006, 10:49:59
- - siemakuba   CytatCo takiego można zrobić w blokach, czego się ...   3.10.2006, 08:19:05
|- - mike_mech   Cytat(siemakuba @ 3.10.2006, 09:19:05...   3.10.2006, 08:35:29
- - siemakuba   CytatTy mu mówisz, że "transfer spadnie...   3.10.2006, 09:06:05
- - siemakuba   CytatPo co w takim robić schemat strony na siłę w ...   3.10.2006, 10:21:49
- - kszychu   Fakt, niektórzy muszą być bardziej profesjonalni n...   3.10.2006, 10:48:28
|- - mike_mech   Mylisz się i to w kilku miejscach. Cytat(ksz...   3.10.2006, 10:58:43
|- - kszychu   Wybacz, że wycinam, ale staram się nie wyrywać z k...   3.10.2006, 11:14:53
|- - shpyo   Cytat(kszychu @ 3.10.2006, 12:14:53 )...   3.10.2006, 14:26:45
- - s_w_ir   CytatTwierdzicie, że kod na DIV jest bardziej prz...   3.10.2006, 11:27:24
- - Balas   Kazdemu zwolennikowi tabelek polecam chociaz przez...   3.10.2006, 16:06:50
- - no-name   Cytat(shpyo @ 3.10.2006, 13:26:45 ) Z...   3.10.2006, 18:28:01
|- - shpyo   Cytat(no-name @ 3.10.2006, 19:28...   4.10.2006, 08:02:53
- - hwao   Ja portafie uzyskac lepsze efekty a przede wszyski...   4.10.2006, 07:56:14
- - no-name   jeśli się trafi koder, który tego nie sk...   4.10.2006, 21:58:37
- - erix   To i ja dorzucę coś od siebie. CytatWszystko...   5.10.2006, 17:10:36
- - php programmer   CytatDodatkowo są metody, aby nie robić tego za po...   20.10.2006, 09:30:32
- - babejsza   A w którym miejscu napisałem, że jest w...   20.10.2006, 09:36:05
- - php programmer   @bajbesza - nie traktuj tego personalnie, ja tylko...   20.10.2006, 09:41:03
- - babejsza   Ja Cię przekonywał nie będę do tego, że projektowa...   20.10.2006, 09:47:40
- - php programmer   Już próbowałem i sie bawiłem i zawsze była jakas d...   20.10.2006, 09:50:54
- - babejsza   Nie ma rzeczy, których nie da się zrobi...   20.10.2006, 09:54:38
- - php programmer   CytatNie ma rzeczy, których nie da się zrobić Ten...   20.10.2006, 09:58:29
- - babejsza   Problem został rozwiązany. Waga obrazka z tłem nie...   20.10.2006, 10:11:39
- - php programmer   CytatProblem został rozwiązany. Waga obr...   20.10.2006, 10:15:15
- - babejsza   Tabela to też jest rozwiązanie "na około...   20.10.2006, 10:18:42
- - slammer   Oto jakim mailem zaszczycił mnie dziś serwis algor...   22.10.2006, 11:31:31
- - Fusin   Witam. Może nie jestem tutaj kimś wyspec...   22.10.2006, 15:54:50
- - Master Miko   Dla mnie korzystanie z tabel to przykład czys...   22.10.2006, 16:12:47
- - mike_mech   Rozwalił mnie ten tekst z algorytmy.pl Tylu głupot...   22.10.2006, 18:38:05
- - babejsza   CytatTylu głupot na raz nie słyszałem jeszcze nigd...   22.10.2006, 20:38:00
- - mike_mech   ~babejsza krytyka była ostra bo głupoty ...   22.10.2006, 22:05:25
- - shpyo   babejsza: nie wpadłeś na to, że go...   22.10.2006, 22:22:01
- - bigZbig   @Fusin - masz 15 lat, ale z pewnością nie znasz si...   22.10.2006, 22:26:47
|- - mike_mech   Cytat(bigZbig @ 22.10.2006, 23:26:47 ...   22.10.2006, 22:43:17
|- - bigZbig   Cytat(mike_mech @ 22.10.2006, 23:43:1...   22.10.2006, 22:54:15
- - no-name   @mike_mech: Nic nie zrozumiałeś... Polecam to, mo...   22.10.2006, 22:28:19
- - babejsza   CytatA jak jest różnica pomiędzy małolatem piszący...   22.10.2006, 22:37:15
- - revyag   CytatOsoby, które wiedzą z czym to się je zrobiły ...   23.10.2006, 07:33:14
|- - Cysiaczek   Cytat(revyag @ 23.10.2006, 06:33:14 )...   23.10.2006, 10:03:03
- - kszychu   W kwestii formalnej: Panowie, trzymajcie się temat...   23.10.2006, 08:02:50
- - Sh4dow   Niestety całości wątku nie przeczytałem, ale mam j...   23.10.2006, 11:09:56
- - revyag   CytatNie widzę różnicy technicznej pomiędzy forum,...   23.10.2006, 11:12:16
- - Cysiaczek   @revyag - Ja rozumiem te róznice. Chodzi o to, że ...   23.10.2006, 12:12:51
- - Fusin   Cytat@Fusin - masz 15 lat, ale z pewnością nie zna...   23.10.2006, 15:00:46
- - no-name   1. Od ilu kolumn/wierszy powinniśmy uznawa...   23.10.2006, 15:37:41
|- - Sh4dow   Cytat(no-name @ 23.10.2006, 16:37...   24.10.2006, 08:18:49
- - Cysiaczek   @no-name - Nie wiem, czy to do mnie, czy nie, ale ...   23.10.2006, 16:38:51
- - hwao   http://www.fu2k.org/alex/css/onetruelayout...ple/i...   24.10.2006, 09:08:11
|- - Sh4dow   Cytat(hwao @ 24.10.2006, 10:08:11 ) h...   24.10.2006, 09:47:28
- - no-name   Cytat(Sh4dow @ 24.10.2006, 07:18:49 )...   24.10.2006, 18:48:10
- - Balas   @no-name, chodzi o to ze tabele nie sluza do budow...   24.10.2006, 19:34:52
- - revyag   @no-name, po co Ci taka definicja? Raz że byłaby ś...   24.10.2006, 19:48:34
- - no-name   Skoro więc granica między tabelą, a nie-tabelą jes...   24.10.2006, 20:02:07
- - Sh4dow   główna przewaga bloków nad tablicami jest taka że ...   25.10.2006, 08:11:44
- - stloyd   "Dlaczego tabelki są głupie" Pozdrawiam...   25.10.2006, 10:29:43
- - no-name   Trzymajmy pewien poziom. Zakładam, że osoby biorąc...   25.10.2006, 14:56:36
- - Balas   bo forum mozna "podciagnac" pod tabelke?...   25.10.2006, 15:01:08
- - ens0re   Cytat(Balas @ 25.10.2006, 16:01:08 ) ...   25.10.2006, 15:17:03
- - no-name   Zakładając, że formatowanie tabel siedzi w CSS, to...   25.10.2006, 15:18:08
- - Balas   jak zauwazyles "podciagnac" bylo w cudzy...   25.10.2006, 16:19:26
- - Cysiaczek   @Balas - tak - będę przenosił wiersze i kolumny ja...   25.10.2006, 16:38:42
- - no-name   Cytat(Balas @ 25.10.2006, 15:19:26 ) ...   25.10.2006, 18:17:12
- - ActivePlayer   Cytat(no-name @ 25.10.2006, 15:56...   25.10.2006, 18:23:02
- - no-name   Cytat(ActivePlayer @ 25.10.2006, 17:23...   25.10.2006, 18:59:49
- - ActivePlayer   google uznaje tresc która jest bliżej górnej częśc...   25.10.2006, 20:04:02
- - no-name   1. Nawet jesli by tak było, to float-owanie (powsz...   25.10.2006, 20:15:55
- - Sh4dow   @no-name masz podejscie chyba typowego single webd...   26.10.2006, 10:33:32
- - no-name   - czy możesz powstrzymać się od osobistych wyciecz...   29.10.2006, 12:40:22
|- - Sh4dow   Cytat(no-name @ 29.10.2006, 12:40...   30.10.2006, 08:55:39
- - rozny   A ja powiem tyle - to juz nie jest temat "wra...   31.10.2006, 18:25:05
|- - bełdzio   Cytat(rozny @ 31.10.2006, 18:25:05 ) ...   6.11.2006, 20:35:33
- - rozny   Ciekawe, ciekawe... W takim razie wylaczam to zdan...   6.11.2006, 21:50:06
- - DeyV   Ostra dyskusja tu się toczy. A wydaje mi si...   11.11.2006, 00:15:19
- - gladiror   To jest nie prawda jeżeli chodzi o to, ze niby wys...   11.11.2006, 16:23:29
|- - hwao   Cytat(gladiror @ 11.11.2006, 16:23:29...   11.11.2006, 17:56:08
- - gladiror   Rozumiem o co chodzi, ale chcialem obalić mit, że ...   11.11.2006, 18:08:08
- - no-name   Cytat(hwao @ 11.11.2006, 17:56:08 ) D...   12.11.2006, 10:05:31
- - Master Miko   Cytatdla środowiska zblazowanych profesjonali...   12.11.2006, 11:55:11
- - ActivePlayer   Cytat(gladiror @ 11.11.2006, 16:23:29...   12.11.2006, 15:56:20
- - gladiror   ActivePlayer -> nie za bardzo rozumiem co chcia...   12.11.2006, 16:09:40
- - ActivePlayer   Cytatwyszukiwarka sprawdza budowę strony (jeżeli c...   12.11.2006, 16:30:33
- - gladiror   Jak to sie mowi -> lepiej zeby bylo niz mialoby...   12.11.2006, 16:33:23
- - ActivePlayer   to nie temat o pozycjonowaniu   12.11.2006, 16:38:06
- - rozny   Sorry chlopaki ale wyglada na to ze czesc osob wyp...   12.11.2006, 23:48:28
- - no-name   Cytat(rozny @ 12.11.2006, 23:48:28 ) ...   13.11.2006, 07:24:01
- - gladiror   no-name -> jestem za, nie jest to znaczacy wpły...   13.11.2006, 09:21:14
- - php programmer   Cytatja robiac swoj pierwszy layout na divach tez ...   13.11.2006, 09:56:59
3 Stron V  < 1 2 3 >


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

 



RSS Aktualny czas: 6.10.2025 - 09:50