Avaleht
uus teema   vasta Tarkvara »  WWW »  <TABLE> vs. <DIV> miks ja millal? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
O
Kreisi kasutaja
O

liitunud: 22.09.2005




sõnum 16.09.2008 16:55:32 <TABLE> vs. <DIV> miks ja millal? vasta tsitaadiga

Tundub, et trend on lehe layouti ehitamiseks DIVe kasutada. Milleks? Miks on div parem, kui tabel?

Loogika kohaselt oleks lihtne ja loogiline tabelitega jätkata...

_________________
PS, kui teemades ei vasta
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum
Andykas
HV veteran
Andykas

liitunud: 28.08.2004




sõnum 16.09.2008 17:01:47 Re: <TABLE> vs. <DIV> miks ja millal? vasta tsitaadiga

O kirjutas:
Tundub, et trend on lehe layouti ehitamiseks DIVe kasutada. Milleks? Miks on div parem, kui tabel?

Loogika kohaselt oleks lihtne ja loogiline tabelitega jätkata...

sest siis on source palju lihtsam lugeda, veebilehed laevad kiiremini kuna contenti on vähem, parem nähtavus otsingumootoritel jne. Dividega palju lihtsam teha ka.
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
O
Kreisi kasutaja
O

liitunud: 22.09.2005




sõnum 16.09.2008 17:17:42 vasta tsitaadiga

Takistuseks on esialgu WYSIWYG, mis ei oska div-e joonistada...
_________________
PS, kui teemades ei vasta
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 69
tagasi üles
vaata kasutaja infot saada privaatsõnum
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 16.09.2008 17:18:40 vasta tsitaadiga

http://www.google.ee/search?q=table+vs+div&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
icon_wink.gif
http://forums.searchenginewatch.com/showthread.php?t=11695
Eriti hea koht:
tsitaat:
I have a little story to tell about the webmaster who used a table with DIVs and the webmaster who didn't. The webmaster who didn't use a table had the higher paying job, a big house, a nice car, and a hot wife because he got all the good jobs for his tableless designs. The webmaster who used tables only to insert his DIVs was considered a second-rate bum and many believed he didn't even know how to position his DIVs. He made very little money. He lived in a rundown apartment. He had no car, and he had no wife...

Edasi loe juba sealt lehelt...

Aga põhiidee on - tee nii, kuidas parem. Tabelilehed kipuvad tihtipeale olema kergelt tuvastatavad kui "tabelilehed"... seda sellepärast, et kui meister ei viitsi palju jamada, kipub ta jätma alles mitmeid lehitseja default'ina renderdatavat. Sama võib teha ka DIV-lehtedega, kuid noid on veidi lihtsam "nullida".

DIV lehti eelistavad need, kes pooldavad kas semantilist www-d, CSS-i, puuetega inimestele mõeldud Internetirakendusi või kes tegelevad otsingusüsteemidega. Kõigil neil juhtudel on DIV-lehtedel eelised. Aga AINULT siis, kui kasutada teadlikult. Lollusi saab teha mõlemal viisil.
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 18.09.2008 01:19:16 vasta tsitaadiga

Samas, tabel selleks milleks ta mõeldud on, ei tohiks paha asi olla vist.
Tabel on tabeli kujul andmete esitamiseks veebilehel.

Imelik, ma ei saanud pihta kuidas seal tabelitega lihtsam oleks olnud.. selles jutus. Mõlemal juhul ju kopi-peist icon_rolleyes.gif
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 18.09.2008 23:11:47 vasta tsitaadiga

iceincube kirjutas:
Samas, tabel selleks milleks ta mõeldud on, ei tohiks paha asi olla vist.
Tabel on tabeli kujul andmete esitamiseks veebilehel.

No, ikka... Ja nagu vist sealsamas lehel on kirjas - proovi näiteks leida teine võimalus, kuidas kuvada täna Internetis nii populaarsete pildigaleriide lehti ilma tabeleid kasutamata... praktiliselt võimatu CSS abil või siis vähemalt debiilselt keerukas...
iceincube kirjutas:
Imelik, ma ei saanud pihta kuidas seal tabelitega lihtsam oleks olnud.. selles jutus. Mõlemal juhul ju kopi-peist icon_rolleyes.gif

Mina sain küll, aga ei viitsi näiteid mõtlema hakata. Asi lihtsalt selles, kas kopeerida tuleb 1-2 rida/elementi või rohkem. Ja muidugi tõsiasi on see, et niiviisi sadu/tuhandeid jne dokumente tänapäeval ikka ei hallata icon_wink.gif
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 19.09.2008 09:56:55 vasta tsitaadiga

Aq kirjutas:
iceincube kirjutas:
Samas, tabel selleks milleks ta mõeldud on, ei tohiks paha asi olla vist.
Tabel on tabeli kujul andmete esitamiseks veebilehel.

No, ikka... Ja nagu vist sealsamas lehel on kirjas - proovi näiteks leida teine võimalus, kuidas kuvada täna Internetis nii populaarsete pildigaleriide lehti ilma tabeleid kasutamata... praktiliselt võimatu CSS abil või siis vähemalt debiilselt keerukas...
Mis seal keerukat on? icon_rolleyes.gif

Vägagi lihtne ja muudatuste puhul veel lihtsam hallata.

_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 19.09.2008 13:07:25 vasta tsitaadiga

Ma pean silmas neid thumbinail-piltide lehti, kus mitmes reas ja tulbas pisipildid. No näiteks niiviisi:

PILT | PILT | PILT | PILT
----------------------------
PILT | PILT | PILT | PILT
----------------------------
PILT | PILT |

Jah, kui ma nüüd veidi mõtlen, siis saab teor. saavutada seda ka DIV-ide abil, aga kas on sel mõtet? Üks asi, mistõttu oleks ikkagi eelistatud tabelid sellises olukorras seisneb lehitsejate tabeli-kujutamise oskuses. Nimelt kui näiteks mõni neist piltidest on teistega võrreldes laiem või pikem, siis DIV ja CSS süsteemi nii lollikindlana ma vist ei oska ette kujutada. Kipub kas lehe segi lööma või pilte üksteise otsa laduma...

Tähendab - loomulikult, kui on võimalik, kasutage tänapäevasemaid võimalusi CSSi ja DIV-ide näol, kuid pisipiltide kogu võib vabalt tabeliifoks lugeda, seega... ehk pole probleemi. Ja kindlasti kui me räägime statistilistest tabelitest, graafikutest jms - KINDLASTI tabeleid kasutada icon_wink.gif
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 19.09.2008 13:37:25 vasta tsitaadiga

Aq, ise teen sellist asja DIVidega. Saab pisipilte vastavalt lehe laiusele rohekm või vähem kuvada näiteks. Aga eks see ole maitse asi. Siinkohal ei pea ka tabeli kasutust valeks.
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 19.09.2008 17:15:26 vasta tsitaadiga

Milleks veel DIV ? Mina olen pannud kohe otse pildid, on koodi vähem ja sama teeb välja. Pildi tagidele saab täpselt sama css määrata kui div tagidele.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Renka
HV Guru
Renka

liitunud: 01.04.2002




sõnum 19.09.2008 18:08:05 vasta tsitaadiga

Teinekord vaja teksti või muud nänni ka sinna panna.
_________________
There is no place like 127.0.0.1
Kommentaarid: 71 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 21.09.2008 00:43:04 vasta tsitaadiga

Vastuseks teemapüstitajale:

Vaadates asja ajaloolises perspektiivis, siis tabeleid hakati veebilehtede kujundamiseks kasutama puhtalt seetõttu, et toona lihtsalt polnud mingit muud võimalust. See oli küll inetu häkk, aga vähemasti toimis. Tänapäeval, kus CSS-i tugi on juba piisavalt hea, et teha peaaegu kõike, mida ka tabelitega teha saab, pole selliseks inetuks häkiks enam vajadust. (Ja niipea kui IE hakkab toetama display: table; reeglit, saab CSS-iga tõesti teha absoluutselt kõike seda mida ka tabelitega - ülejäänud brauserites juba praegu.)

Nagu sa näed, siis pole ma siiamaani rääkinud sugugi TABLE v/s DIV teemal, vaid pigem TABLE v/s CSS teemal. See on oluline nüanss. Kui sa vaatad lehti, mis on tehtud ilma tabeliteta, siis näed sa lähtekoodis hulga <table> elementide asemel hoopis hulka <div> elemente. Mistõttu esmapilgul võiks järeldada, et oluliseks erinevuseks ongi <tabel> asemel <div> kasutamine, kuid hoopis olulisem on see, millised stiilid sellele <div>-le CSS-ga määratakse. Veelgi enam: CSS-i jaoks pole erilist vahet kas kujundada <div> elemente või hoopis <p>, <h1> või <ul> elemente - kõigi nende jaoks rakenduvad stiililehed ühtviisi.

Tegelikult on <div> kogunisti kõikse kehvem element mis sul HTML-is kasutada on - kui vähegi sobilik, tuleks kasutada midagi muud. Oluline on siinkohal, et see muu element oleks sobilik. Näiteks <table> on igati sobilik, kui meil on tegemist tabulaarse infoga (valuutakursside tabel, kalender jms), samas pole <table> sugugi sobilik kui meil on tegemist lehe pealkirjaga - siis on märksa parem <h1>. Ja erinevate menüüde ja muude loendite jaoks on reeglina sobivaimad <ul> ja <ol>. Lihtsate tekstilõikude jaoks on aga parim <p>. <div> tuleks aga kasutusse panna alles siis kui tõesti midagi muud üle ei jää. Samamoodi on ka elemendiga <span>, millele tuleks võimalusel eelistada <strong>, <abbr>, <label> jms elemente.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Kethmar
Kreisi kasutaja
Kethmar

liitunud: 21.06.2006




sõnum 21.09.2008 18:14:05 vasta tsitaadiga

Mis see display: table on`? Mis see teeb vms?
_________________
Kodulehekülg: http://kethmar.ee/university
Vajad veebilahendust või graafilist abi? Küsi pakkumist. HV Rahvale alati odavamalt.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 26.09.2008 01:37:35 vasta tsitaadiga

display: table paneb suvalise HTML-i elemendi käituma nagu <table> elemendi. Analoogselt käituvad display: table-row ja display: table-cell. Kasu on sellisest asjast siis, kui tahame midagi, mis oma olemuselt pole tabel, panna välja nägema nagu tabel. Üheks heaks näiteks on vormid, kus tihtipeale on soov panna vormilahtrite pealkirjad ühte tulpa ja lahtrid ise teise tulpa:

Eesnimi:    [____________]
Perenimi:   [____________]
Vanus:      [___]


Kõige lihtsam on saavutada selline välimus tabeleid kasutades:

<form>
<table>
<tr><td><label>Eesnimi:</label></td><td><input type="text" /></td></tr>
<tr><td><label>Perenimi:</label></td><td><input type="text" /></td></tr>
<tr><td><label>Sugu:</label></td><td><input type="text" /></td></tr>
</table>
</form>


Toimib, aga tabelit on kasutatud puht kujunduslikel eesmärkidel. Märksa parem oleks see vorm ümber kirjutada umbes sellise HTML-ga:

<form>
<p><label>Eesnimi:</label><span><input type="text"></span></p>
<p><label>Perenimi:</label><span><input type="text"></span></p>
<p><label>Vanus:</label><span><input type="text"></span></p>
</form>
<p class="mingi-asi-peale-vormi">...</p>


Kuid selleks, et see CSS-ga tabelina välja nägema panna, peame korda saatma paraja keemia:

p { clear: both }
label, span {display: block; float: left; width: 50%; height: 2em; }
.mingi-asi-peale-vormi {clear: both }


Kui aga display reegel oleks piisavalt hästi brauserite poolt toetatud, piisaks sellest kui CSS-i kirjutada nii:

form {display: table}
p {display: table-row}
label, span {display: table-cell}
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tomz
HV veteran
tomz

liitunud: 02.10.2002




sõnum 28.10.2008 19:49:00 vasta tsitaadiga

ma arvan, et ei tasu juuksekarva lõhki ajada.
seni kuni on tegu väikese lehe, pisikese koodi ja nö. optimaalse otsingumootori optimiseerimisega, siis pole vahet kuidas leht üles ehitada.

paraku olen ka ise mitmeid korda noomida saanud, et senimaani tabelite põhiselt lehti üles ehitan. prooviks siis viskasin enda praeguse kodulehe (vaata WWW) täielikult css'i. tõsiasi on see, et nii väikese lehe puhul see failide mahtu ei muuda märkimisväärselt. aga ma pole veel css'i sügavustesse langenud ja ilmselt tal omad eelised on, et teda ka kasutatakse.-

_________________
Tom & Veronica around the world icon_smile.gif
Kommentaarid: 68 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 64
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 29.10.2008 19:59:55 vasta tsitaadiga

tsitaat:
et nii väikese lehe puhul see failide mahtu ei muuda märkimisväärselt

Ega sa css iga failide mahtu nagu ei muudagi, sul on endal lihtsam-parem objekte paigutada. Lihtne näide, sul on üks pilt, mille tahad paigutada teise pildi peale osaliselt ja et asi veelgi keerukam oleks paned veel kolmanda servaga teise peale ja see paistab veel natuke läbi ka. Tabelitega ilma CSS kasutamata läheks sul kolmanda pildiga ikka väga raskeks, hetkel ise ei näegi lahendust. CSS abil on see aga köömes, võid pildid-tekstialad paigutada täpselt sinna, kus pähe tuleb, saad vahetada layereid nagu PhotoShopis, tõstes asju üksteise alla peale ja palju muud.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Aq
HV kasutaja

liitunud: 01.01.2003




sõnum 29.10.2008 20:35:32 vasta tsitaadiga

andrusny kirjutas:
Ega sa css iga failide mahtu nagu ei muudagi, sul on endal lihtsam-parem objekte paigutada. Lihtne näide, sul on üks pilt, mille tahad paigutada teise pildi peale osaliselt ja et asi veelgi keerukam oleks paned veel kolmanda servaga teise peale ja see paistab veel natuke läbi ka. Tabelitega ilma CSS kasutamata läheks sul kolmanda pildiga ikka väga raskeks, hetkel ise ei näegi lahendust. CSS abil on see aga köömes, võid pildid-tekstialad paigutada täpselt sinna, kus pähe tuleb, saad vahetada layereid nagu PhotoShopis, tõstes asju üksteise alla peale ja palju muud.

Oi ei, ärge selliseid kodulehti küll tehke icon_razz.gif

OK, saan aru, see oli vaid näide CSSi suutlikkusest, aga ikkagi... ärge praktikas kasutage icon_wink.gif
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
wa666ou
HV veteran

liitunud: 23.05.2003




sõnum 30.10.2008 01:39:54 vasta tsitaadiga

tsitaat:

Lihtne näide, sul on üks pilt, mille tahad paigutada teise pildi peale osaliselt ja et asi veelgi keerukam oleks paned veel kolmanda servaga teise peale ja see paistab veel natuke läbi ka. Tabelitega ilma CSS kasutamata läheks sul kolmanda pildiga ikka väga raskeks, hetkel ise ei näegi lahendust...


http://www.onedaynation.com/

lipp-lipi, lapp-lapi peal icon_razz1.gif
(pole küll päris see, millest siin räägite)
Kommentaarid: 101 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 95
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 30.10.2008 01:43:02 vasta tsitaadiga

tomz kirjutas:
prooviks siis viskasin enda praeguse kodulehe (vaata WWW) täielikult css'i.


Antud lehekülg on juhtumisi suurepärane näide sellest, kuidas ei tohiks tabeleid CSS-i vastu välja vahetada.

Algajad CSS-i kasutajad teevad tihtipeale just selliseid lehekülgi, kus HTML koosneb peaasjalikult div-idest ja span-idest, mille siis CSS arusaadavasse vormi paneb. Kuid HTML ja CSS pole mingid teineteisele vastu töötavad keeled. See, kui sa kasutad CSS-i ei tähenda sugugi, et peaksid loobuma HTML-ist. Ning HTML ei koosne vaid dividest ja spanidest. HTML ja CSS peaksid hoopis teineteist täiendama - neil kummagil on oma ülesanne.

HTML on selleks, et üles märkida lehekülje struktuuri. Näiteks et see tekst siin on pealkiri ja nood read seal on nummerdatud loend. Nende asjade üles märkimiseks on eraldi elemendid, näiteks <h1> ning <ol>, ning nendel on üsnagi selge ja kindel tähendus. Kuid <div> ja <span> on n.ö. tähenduseta elemendid, mida tuleks kasutada alles siis, kuid midagi muud üle ei jää.

CSS on aga selleks, et kujundada toda struktuuri, mida me oleme HTML-iga defineerinud. Muidugi, võime kujundada ka mingisugust div-ide ja span-ide struktuuritust, kuid parem oleks siiski, kui meie leheküljel oleks mingi arusaadav struktuur.

Tulgem nüüd aga tagasi tolle nimetatud lehekülje juurde.

Kui me vaatame seda lehekülge ilma igasuguse CSS-ita, siis algab see nõnda:

name:
occupation:
education:
date of birth:
quarters:
cellphone:
Toomas Tartes
Architect/Designer
TTK/UAS (in process)
18.02.1987
Estonia, Tallinn
+372 53 953 313


Mitte just eriti hästi arusaadav või mis? Alguses oleks toodud justkui tabeli esimese tulba lahtrid ja siis teise tulba omad. Seega need andmed, mida see leht proovib esitada, on juba oma olemuselt tabulaarsed. Seetõttu tuleks need esitada ka kenasti <table> elemendi abil, mitte toppida vastu tahtmist div-ide ja span-ide sisse.

See, kui sa kujundad lehte CSS-i abil ei tähenda, et sa ei võiks tabeleid kasutada. Tabelid on igati lubatud, kui su esitatavad andmed on loogiliselt tabeli kujulised. Tabelid ei sobi vaid siis, kui sa paned tabeli sisse midagi, mis oma olemuselt pole tablulaarne info - näiteks lehekülje osadeks jaotamine.

Lõpp-eesmärk peaks olema see, et kui ka CSS on välja lülitatud (või brauser seda üldse ei toeta), siis oleks lehekülg ikkagi arusaadav. Ja seda arusaadavust suudab tagada vaid HTML, milles on kasutatud lisaks div-ile ja span-ile ka täpsema tähendusega elemente.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  <TABLE> vs. <DIV> miks ja millal?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.