Loading:


Kiedy używać tabel, a kiedy div'ów na stronach?

1. Wprowadzenie

 

    W artykule tym, zostanie przedstawione: zastosowanie oraz porównanie dwóch bardzo popularnych znaczników z języka (X)HTML, są nimi: <table> oraz <div>. Kiedy, w jaki sposób i do jakich celów używamy tych formatów, postaram się przedstawić i omówić w tym artykule. Zapraszam do zapoznania się z faktami, jak i moimi spostrzeżeniami.

 

2. Omówienie problemu

 

    Zacznijmy, może od tego co mówi organizacja W3C (World Wild Web Consorcium ~ ang. Światowe Konsorcjum Internetowe), zajmująca się ustanawianiem standardów pisania i przesyłania stron WWW.

 

Oryginalne twierdzenie na temat używania na witrynach znaczników <table> oraz <div>, można znaleźć pod adresem: http://www.w3.org/2002/03/csslayout-howto.

 

Mówi ono następująco: "HTML jest językiem strukturalnym, co oznacza, że powinno się używać odpowiednich tagów w trakcie jego pisania. Tag o nazwie <table> powinien być używany tylko do przechowywania danych w postaci znaków/liter z relatywnymi kolumnami oraz wierszami. Znacznik <table> nie służy do budowania szkieletu strony internetowej, niestety bardzo często zostaje on wykorzystywany w ten właśnie sposób. Do tworzenia jakiegokolwiek układu witryny, zalecany jest inny znacznik o nazwie <div>, oraz zastosowanie styli CSS.".

 

Co wynika z tego oficjalnego stanowiska W3C?

Wynika jedna, bardzo ważna sprawa, którą jest: nie właściwe używanie znacznika o nazwie <table> na nowo powstających stronach WWW.

 

Dlaczego tak się dzieje, że większość osób projektujące witryny używają tabel do ich szkieletu strony?

 

Na te pytanie składa się kilka czynników, pierwszym z nich jest historia języka HTML. W pierwszych wersjach tego języka, nie istniał taki znacznik jak <div>. Dlatego, do tworzenia pierwszych stron używało się tabel. Drugim czynnikiem jest, brak dopisywania dodatkowego kodu CSS(Cascading Style Sheets ~ ang. Kaskadowe Arkusze Stylów) do zawartości pliku .html . Trzecim i chyba najbardziej nie dorzecznym wnioskiem jest argumentowanie, "że pisanie w tabelach jest łatwiejsze oraz zaoszczędza czas". Z czym całkowicie się nie zgodzę, oraz udowodnię, że tak nie jest w dalszej części tego artykułu...



Dalsza czê¶æ: 1 2

Napisz Artyku³

Listing

niema




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38423
Komentarze użytkowników
??? od kiedy css dołącza się jako javascript? sensowny artykuł, a taki głupi błąd. do css uzywa się
autor: ŁF | 98 | 2009-02-19 13:04:28


Nie dołącza się, mój błąd musze przyznać, dziękuje za znalelezienie kruczka.
autor: Divix | 102 | 2009-02-19 19:05:03


Chyba kolega nic tu nie udowodnił , jeżeli chcesz to zrobić to trzeba było dać parę fajnych przykładów pokazujące różnice.
autor: WH | 140 | 2009-03-20 13:49:11


Jeśli podasz te przykłady w komentarzu to będziemy wdzięczni.
autor: Divix | 141 | 2009-03-20 22:55:50


Za mało rzeczy powiedziałeś na + wg mnie najlepszym argumentem za jest zgodność XHTML z XML. Co do prostoty to czasami w HTML zrobimy coś o wiele szybciej niż w XHTMl, np pozycjonowanie elementów na środku itd.
autor: Robert | 173 | 2009-04-28 14:54:29


Do prawda, dlatego W3C proponuje nam wersję standardową XHTML (transitional) lub restrykcyjną (strict) do wyboru. Oczywiście pierwsza opcja pozwala na argumenty typu align itp.
autor: Divix | 176 | 2009-04-29 03:29:04


Zwolennicy tabel (do których nie należę) podsuwają np. takie argumenty: -prostota pozycjonowania elementów w pionie [middle lub bottom](bez wątpienia +1 dla tabelek), -pewność przy nadawaniu szerokości (większość przeglądarek w razie potrzeby dostosuję szerokość kolumn tak, by nie przekraczały wskazanego rozmiaru) Różne przeglądarki różnie radzą sobie z liczeniem rzeczywistej szerokości (dot. padding + border + width), szczególnie, że każda posiada tryb zgodności wstecznej - tzw. quirck mode, - dostosowanie wysokości wszystkich kolumn do najdłuższej szczególni, gdy komuś zależy na takim wyrównaniu dwóch, znajdujących się obok siebie kolumn (złudne, podobny efekt graficzny można uzyskać stosując odpowiednie tła w warstwie nadrzędnej) Wydaje mi się, że Robert słusznie zauważył, że brakło co najmniej kilku przykładów prezentujących, w jaki sposób przy użyciu warstw można uzyskać taki sam efekt przy użyciu DIV-ów i CSS. Btw.: Tabelki nie radzą sobie z wymuszaniem szerokości, jeżeli, któryś z elementów wewnątrz komórki jest szerszy lub wyższy, gdyż wtedy się poszerzają, a warstwy potrafią (overflow: hidden)
autor: mack | 186 | 2009-05-11 19:33:06


Nie do końca się zgodzę overflow: hidden działa również dla komórki tabeli. Zgadzam się jednak, ze pisanie stron na tabelach jest w tej chwili mocno skomplikowane.
autor: ag | 273 | 2009-06-23 13:36:06


    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2020 v.1.5 | design: diviXdesign & rainbowcolors