Milsio sam da nece biti potrebe ali st amozemo kad si tvrdoglav :(
Citat:
WOW:
Samo sam pokazao da sve sto mozes da uradis tabelama (osim naravno tabelarnog prikaza podataka, za sta je tabela i izmisljena) mozes potpuno isto da uradis i u CSSu, bez ikakvog gubitka...
Nemam nista protiv da tako nesto radis ali nemoj to radisti da diskutujes sa mnom, kada je ne govorim o tome. Ja sam na pocetku price i sam rekao da tabela ne ispunjava zahteve po pitanju semantike i razdvajanja sadrzaj od koda, i nema potrebe da me ti iznova i iznova u to ubedjujes, pogotovo sto ja dalje u diskusiji uopste ne ulazim u to. To je fakat, i ne vidim razlog zasto bi se neko trudio da ga osporava ili potvrdjuje, i utoliko mi nije nasno zasto ti to sve vreme radis.
Citat:
Ja priznajem da CSS ima nedostatke, ali trenutno ni jedna druga tehnologija nije pokrila te nedostatke, a pritom ima i neke svoje nedostatke tako da ne znam zato bi koristio nesto sto ima vise nedostataka od necega sto ima manje nedostataka...
Table layout i tableless layout koriste iste tehnologije. Koriscenje tabela u definisanju layouta ne da ne iskljucuje upotrebu CSS-a nego ga zahteva. A kada je u pitanju postovanje semantike i prinicpa razdvajanja sadrzaja od forme, valjda je dovoljno jasno pokazano da table+CSS ili samo CSS na isti nacin krse te principe.
Citat:
A to sto kazes da ako hoces da pomeris sadrzaj html dokumenta na vrh, moras da promenis kod stranice i zato CSS ne odvaja sadrzaj od forme i nema smisla... I sa tabelom bi, ako hoces da pomeris sadrzaj na vrh, morao da menjas kod...
Naravno, kada koristis tabelu otpisao si princip semantike i razdvajanja koda od sadrzaja. To uopste nije sporno i to je, kao sto sam rekao fakat koji je konstatovan na pocetku cele ove diskusije. Ne mozes taj nedostatak tabela da koristis kao argument da opravdavas isti nedostatak u CSS-u, kada ti upravo taj nedostatak koristis kao argument zasto ne treba koristiti tabele vec treba koristiti CSS.
To me podseca na situaciju da naidjes sa nekim na potok koji nema most pa morate da ga pregaizte i ovaj krene malo nize da gazi, a ti mu kazes da ne treba tu da gazi jer ce da se iskvasi i usvinji nego da dodje malo vise pa da tu pregazi sa tobom. Svodi se na to ce svakako da se iskvasiti i usvinjiti, kako god da ga pregazi.
Nije sporno da ako koristis samo CSS, da bi izmenio izgleda dokumenta moras da promenis njegov sadrzaj. To je cinjenica. Sporno je upravo to sto se time upravo gaze principi semantike i razdvajanja sadrzaja od forme. Ti ne mozes da kazes: pa dobro da bih promenio raspored elemenata na strani, moram da ga promenim i u sadrzaju strane.
To ne sme da se dogodi. Strana mora da ima fiksnu strukturu koja je nezavisna od izgleda. Elementi koji cine sadrzaj imaju jedan medjusobni odnos kada se gledaju kao elementi sadrzaja, a sasvim drugi kada se gledaju kao graficki elementi koje treba prikazati na strani.
Evo da probam da ti to objasnim na primeru. Uzecemo jedan jednostavan dokument koji ima sledece elemente:
- navigaciju
- naslov dokumenta
- datum dokumenta
- potpis autora
- sadrzaj dokumenta
- sporedne elemente
Nadam se da ces se sloziti da po semantici ovi elementi cine dokument i da im je ovo redosled kojim se pojavljuju u sadrzaju dokumenta. To znaci da, ako bismo dokument predstavili kao obican tekst, elementi bi bili u tekstu navedeni bas ovim redosledom. U praksi, to bismo trebali da dobijemo ako gotovu HTML stranu otvorimo u Lunx-u ili na neki drugi nacin eksportujemo kao obican tekst bez HTML koda, ili - ako bismo HTML stranu otvorili bez CSS-a trebalo bi da dobijemo tekst koji ima gorenavedenu formu.
E sad, kada definisemo graficki izgled ovog dokumenta, mi ne bi trebalo da menjamo semanticki sadrzaj, sto znaci da svi ovi elementi moraju da se u sadrzaju dokumenta pojavljuju upravo ovim redosledom, jer je to jedini logican redosled. Da li ce meni da bude u zaglavlju u denoj ili levoj koloni, to treba da se odredi definisanjem forme ovog dokumenta (u nasem slucaju to je CSS). Da li ce datum stajati ispod naslova ili u njegovoj ravni ili cak na pocetku teksta samog sadrzaja, to opet treba da definise CSS, da li ce potpis ici iznad tekst ili ce ici ispod teksta, to je opet posao CSS-a. Isto tako, da gde cemo sporedne elemente staviti, na dno ili u desnu kolonu ili gde god, to opet treba da se definise kroz CSS. Ali kako god mi to definisali u CSS, ne smemo promeniti redosled elemenata koji cine sadrzaj dokumenata, jer ako to uradimo, narusili smo semantiku tog dokumenta. U bilo kom momentu, ako HTML otvorimo bez CSS-a, snimimo ga kao tekst, ili ga otvorimo u tekst citacu, moramo dobiti elemente dokumenta u gornjem redosledu.
Ako se postuju principi semantike i razdvajanja sadrzaja i forme, nedopustivo je da imenimo redosled ovihelemenata da bismo postigli odgovarajucu poziciju u konacnom izgledu dokumenta.
Tabela, sasvim jasno, ne postuje ove principe, ali problem je sto ni CSS nema odgovarajuce elemente koji ce omoguciti da se ovi principi ispostuju, jer kao (sto si i sam rekao, da bi premestio neki div, moras da mu promenis polozaj u samom sadrzaju dokumenta). U tome,koriscenje tabela u izadi layouta postaje nebitno, jer kako god okrenes ti ove principe ne mozes da ispostujes. To ne moze da bude argument protiv tabela.
Stvar je u tome sto govoreci ovo je na zagovaram koriscenje tabela vec samo osporavam argumente koji su protiv njih, tvrdeci da taj argument ne mozes da koristis jer ne nudis alternativu. Ako tvrdis da tabele ne smeju da se koriste zato sto narusavaju principe semantike i odvajanja sadrzaja od forme, onda ne mozes da kao zamenu ponudis nesto sto takodje narusava te iste principe.
Zamisli sada da gornji tekst nije jedan nego ima na hiljada takvih dokumenata, a da se oni svi generisu odnekud, i da se generisanjem dobija uvek isti HTML kod. Medjutim, prilikom umetanja tog koda u stranu, urednik moze da odluci da li hoce ovakav ili onakav sablon, a to se postize tako sto se promeni CSS koji ce se pridruziti dokumentu. Urednik ne moze da edituje sadrzaj dokumenta vec samo da promeni CSS koji se tom dokumentu pridruzuje. Nije da on to ne moze fizicki, nego je problem sto se svi ti dokumenti, povremeno ponovo generisu umesto starih verzija, i ako bi urednik ista promenio u dokumentu to bi prvom novom revizijom bilo izgubljeno. Zbog toga je neophodno da se razdvoji sadrzaj od forme. CSS, ovakav kakav je to ne moze da ispostuje, pa bi bilo neophono da se na mestu gde se unose podaci koji sacinjvaju sadrzaj dokumenta na neki nacin naznacava da li treba da se koristi ovaj ili onaj CSS. Problem je sto prvo se podaci koji cine dokument uopste ne moraju unositi na jednom mestu, a i da se unose na jednom mestu, podatke unose ljudi koji ne samo da ne znaju kako dokument treba da izgleda, nego nisu strucni da donose takve odluke - oni su obicni daktilografi.
Siguran sam da se svako od nas ko se bavi izradom sajtova srece sa slicnim problemom samo ne u ovoj razmeri, nego je to dovoljno malo materijala da uvek skrpimo neko resenje.
Citat:
Lynx ti naravno nece prikazati HTML kod (tagove) vec samo sadrzaj tih tagova. S druge strane Google i te kako obraca paznju na to koji su tagovi korisceni (znas vec i sam zasto se koristi <h1> tag a ne samo uvecani <p> tag i slicno)...
Nemoj opet odvlaciti diskusiju na zaobilaznice. Google prepoznaje H1 tag, ali ne postoji tag koji ce mu reci sta je u dokumentu zaglavlje, sta meni, sta je sadrzaj, sta podnozje ili sta vec moze da mu bude bitno. Osvrni se jos jednom na ono sto sam stavio kao citati upravo iz Googleovog uputstva.
Citat:
U onom mom kodu koji sam napisao ne mozes samo da zamenis redosled elemenata i da ocekujes da radi isto... Isto kao sto ni u tabeli ne mozes da zamenis redosled tagova i da ocekujes da radi isto... Isto kao sto ni nigde drugde ne mozes da zamenis redosled kodova i da ocekujes da radi potpuno isto...
Gresis. Ja imam mnogo programerskog iskustva i radio sam mnogo stvari gde zaista redosled elemenata ne utice na njihovu poziciju u dokumentu. Ja sama to probao, znam koliko je to dobro i zato kritikujem CSS, jer on deklarativno zagovara isti princip, ali ga u praksi ne omogucava.
Od CSS-a imam puno pravo da ocekujem da omoguci da polozaj i izgled elemenata na strani ne zavisi od njihovog polozaja u sadrzaju dokumenta, jer tek kada CSS to bude omogucio zaista ce ispostovati principe zbog kojih je napravljen i koje zagovara. Uostalom, upravo vi koji ste vatreni pobornici CSS-a, sve vreme to koristite kao glavni argument zasto je CSS bolji, iako je to samo deklaracija, a u praksi nije izvodivo, osim u veoma jednostavnim slucajevima.
Citat:
Kao sto si i sam rekao CSS3 stize (vecina browsera vec sada podrzava bar po jedan CSS3 tag) i kad stigne svi bi trebalo da polako promene svoje stranice na njega... Ne znam samo kome ce biti lakse, nekome ko vec sada koristi CSS ili nekom ko ce morati da nauci potpuno novu tehnologiju...
A zasto mislis da ce meni biti teze? Pa valjda je ocigledno da ja toliko poznjem CSS da znam koje su mu mane i tacno znam sta mi u njemu smeta pa cu lako prepoznati kada to bude ispravljeno.
Ja pre ocekujem da ces ti imati probleme jer si se navikao da zongliras sa kodom i vise uopste ne posmatras dokument semanaticki vec moras da smisljas kako da ga haknes da bi napravio da to izgleda onako kako si zamislio. Ne sporim da si vest u tome, ali ti si taj koji je naucio da pogresno razmislja. Tebi ce biti problem da se prilagodis ispravnom nacinu razmisljanja. Uostalom pogledaj koliko je ovde energije potroseno da vam se objasne neke tako ocigledne stvari, koje ne razumete samo zato sto razmisljate na pogresan nacin.
Citat:
Eto... Ja se nadam da smo iscrpeli temu i da se svi generalno slazemo - CSS nije savrsen ali je generalno bolji za layout stanice od tabela...
Mi smo se oko toga od pocetka slagali, samo je bio problem da to prihvatis :)
Ja cu biti zadovoljan ako ti je ova diskusija koristila bar utoliko da imas meksi stav prema tabeli u layoutu i da razumes zasto je nekim ljudima to prihvatljivo resenje i da neces nikoga oplesti svom snagom samo zato sto je pomenuo tabelu ili ju je upotrebio u layout-u. Prihvati da su to dva stila, dva nacina rada. Ti neki stil ne volis, neko drugi ne voli drugi stil, ali se sve svodi na isto.
Citat:
PS. Nije vezano za temu - Postavljanje menija iznad sadrzaja (u kodu) mozda cak i nije tako lose kao sto mislis... Ako na jednoj stranici imas par linkova koji svi vode do jedne druge stranice, Google ce uzeti samo tekst prvog linka za SEO te druge stranice... Tako da je dobro da taj prvi link bude sto "opisivniji", a takvi su obicno u meniju...
SEO je u ovoj diskusiji samo slucajni prolaznik. Nazalost, za razliku od CSS-a koji je vrlo jasno dokumentovan, SEO nije, tako da dobar deo diskuije na tu temu moze da sve svede samo u domen pretpostavki i spekulacija. Ja sam ga samo usput pomehnuo kao zahtev da se promeni redosled elemenata na strani koje je cest da bih pokazao da to uslovljava odstupanje od principa.
Mozda je to bila greska, mozda bi bilo jasnije da sam ti samo skrenuo paznju da DIV ne mozes da nazoves left i right jer time prejudiciras polozaj elementa u prikazu dokumenta. DIV treba da ima naziv koji proistice iz njegove funkcije u dokumentu, a ne pozicije, a to znaci "navigation", "menu", "content", "header", "footer", "sidebar" i slicno.... Pozicija u nazivu elementa je prihvatljiva samo ako se pravi stil namenski za odredjenje pozicije, ali opet u funkcionalnom smislu, recimo mozes da imas tri stila za IMG tako da sliku mozes da preko stilova poravnas levo, centrirano ili desno, ali sa pretpostavkom da je to funkcionalan zahtev i da se nece zahtevati da slika naknadno menja poravnanje ako se menja layout - to jest, da nikada nece biti potrebe da se u stilu kome je podeseno poravnanje desno, to promeni.