Reg. datum: 14 januari 2000
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
Forum » Devschuur® » Webdesign, Markup & Clientside Scripting » [HTML] Discussie <div> .vs. <table>
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
Ik geloof dat Steve Pugh daar een concept van on-line heeft...quote:Soultaker schreef op woensdag 12 september 2007 @ 15:10:
Hoe doe ik dit met CSS?
Why is everything here completely pointless?
Maak #nav bvb eens rood en #content blauw voor de grap.quote:T-MOB schreef op woensdag 12 september 2007 @ 15:40:
[...]
Ik geloof dat Steve Pugh daar een concept van on-line heeft...
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
disjfa - disj·fa (meneer)
disjfa.nl
Speel mee: schuifpuzzle | indiegamer.nl
Zoiets?quote:Soultaker schreef op woensdag 12 september 2007 @ 15:10:
[...]
Ok:
HTML:
1
2
3
4
5
6
7
8
9<html>
<head><title>Foo</title></head>
<body>
<table height="100%">
<tr height="100%"><td valign="top">Content</td></tr>
<tr height="50"><td>Footer</td></tr>
</table>
</body>
</html>
Hoe doe ik dit met CSS? Ik weet dat er officieel geen "height" attribuut is, maar browsers ondersteunen die wel, en terecht, want hij is nuttig. Als de W3C in plaats van drie CSS standaarden verzinnen die praktisch geen browser volledig kan ondersteunen de "height" attribuut had toegevoegd, waren ze zinniger bezig geweest.
Maar als CSS zo geweldig is, hoe doe je dit dan in CSS? (En ja, het is een subtiele vraag, maar ik wil dus dat de footer de content niet overlapt, dat ik een scrollbar krijg als content+footer niet past, en als er niet gescrolled wordt de footer onderaan staat.)
Semantiek heeft op de manier die je hier beschrijft, niets met rendering temaken. Dat Google display:none; negeert is goed. Maar het gaat er om, dat een H1 element belangrijker is als een H2 of H3. Dat een computer/applicatie weet dat alles binnen UL een lijst is. Dat iets binnen STRONG belangrijker (of iig de nadruk heeft) boven de omringende tekst.quote:Google is juist succesvol omdat ze alle metadata negeren en uitgaan van welke informatie daadwerkelijk gerenderd wordt. Als jij <h1 style="display:none">Nep Titel Hier</h1> neerzet heb je mooie semantische HTML maar zal een publieke zoekmachine die titel juist willen negeren. In klassieke HTML zonder CSS flauwekul kon je ook wel dit soort trucs verzinnen (met font-tags) maar dan was een <h1>-element tenminste een echte heading.
Semaniek is dus zeker niet zinloos. Dat jij net nut er niet van inziet, of de voordelen die het bied niet benut, wil niet zeggen dat ze er niet zijn. Voorbeeldje: een Screen Reader spreekt tekst binnen een STRONG element anders uit; legt er de nadruk op. Wat - mits goed gebruikt - heel handig kan zijn.quote:Voor het daadwerkelijke WWW (buiten de belevingswereld van de waanzinnigen die in het semantische web geloven) is semantische HTML dus zinloos. Het enige wat belangrijk is aan HTML is dat je pagina's handig kan aanpassen aan je medium (audio, printer, verschillende beeldresoluties, enzovoorts) niet dat een machine er betekenis aan kan toekennen.
Dat er nog geen browsers gebruikt worden die CSS3 ondersteunen (of uberhaupt zijn, die het ondersteunen...) is niet de fout van het W3C. Ik vind het goed dat ze een standaard bedenken, die in mijn ogen, beter is als table-tag-soup.quote:Dat is dus bezopen. Ze zijn dus 10 jaar bezig met een standaard voor lay-out die oude "amateuristische" technieken moet vervangen, en ze zijn feitelijk nog nergens, want niemand gebruikt een HTML5/CSS3 compatible browser.
Partyagenda:
12/12 TimeWarp (Maassilo)
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
Partyagenda:
12/12 TimeWarp (Maassilo)
Prachtig. Ik open good_example_short in Konqueror (mijn standaardbrowser) en hij doet het niet goed: als ik een venster kleiner maak en dan weer groter, gaat de footer niet omlaag.quote:
Accoord, maar laten we de semantiek-discussie er dan even buiten houden. Ik ben het hier namelijk helemaal mee eens. (Een aantal uitspraken die je me toedicht staan ook lijnrecht tegenover wat ik probeerde over te brengen, dus daar is iets misgegaan in de communicatie.)quote:Semantiek heeft op de manier die je hier beschrijft, niets met rendering temaken. Dat Google display:none; negeert is goed. Maar het gaat er om, dat een H1 element belangrijker is als een H2 of H3. Dat een computer/applicatie weet dat alles binnen UL een lijst is. Dat iets binnen STRONG belangrijker (of iig de nadruk heeft) boven de omringende tekst.
Er zitten ook wel zinnige dingen in CSS, maar het is veel te beperkt. Het erge is dat allerlei bewezen technieken (die op zichzelf heel zinnig zijn; grid based lay-outs zijn gewoon logisch) opeens deprecated genoemd worden, terwijl ze ook zouden kunnen onderkennen dat CSS op een aantal punten niet voldoet. Verder hebben ze CSS wel zo complex gemaakt dat praktisch niemand (ook KHTML en Gecko voor lange tijd) het niet 100% goed konden doen. Dat is gewoon debiel.quote:Dat er nog geen browsers gebruikt worden die CSS3 ondersteunen (of uberhaupt zijn, die het ondersteunen...) is niet de fout van het W3C. Ik vind het goed dat ze een standaard bedenken, die in mijn ogen, beter is als table-tag-soup.
Soultaker wijzigde dit bericht 12-09-2007 16:54 (12%)
Ik geef toe dat het voorbeeld van de footer altijd onderaan, lastig te maken is in CSS. Waarom dat niet makkelijker kan, is mij ook niet geheel duidelijk. Dit is zeker iets waar verbetering kan plaatsvinden.quote:Soultaker schreef op woensdag 12 september 2007 @ 16:52:
[...] en dan nog werkt het niet [...]
CSS is zeker nog geen volgroeide techiek, waar nog een hoop aan verbeterd kan worden. En dat CSS complex is, is zeker waar. En dat browsers er zo lang over gedaan hebben om het goed te ondersteunen, ik denk dat het voor een deel ook prioriteiten stellen is: toen die browsers/engines ontwikkeld werden, werd CSS2.1 nog vrij weinig gebruikt.quote:Er zitten ook wel zinnige dingen in CSS, maar het is veel te beperkt. Het erge is dat allerlei bewezen technieken (die op zichzelf heel zinnig zijn; grid based lay-outs zijn gewoon logisch) opeens deprecated genoemd worden, terwijl ze ook zouden kunnen onderkennen dat CSS op een aantal punten niet voldoet. Verder hebben ze CSS wel zo complex gemaakt dat praktisch niemand (ook KHTML en Gecko voor lange tijd) het niet 100% goed konden doen. Dat is gewoon debiel.
Partyagenda:
12/12 TimeWarp (Maassilo)
quote:OkkE schreef op woensdag 12 september 2007 @ 17:08:
CSS is zeker nog geen volgroeide techiek, waar nog een hoop aan verbeterd kan worden. En dat CSS complex is, is zeker waar. En dat browsers er zo lang over gedaan hebben om het goed te ondersteunen, ik denk dat het voor een deel ook prioriteiten stellen is: toen die browsers/engines ontwikkeld werden, werd CSS2.1 nog vrij weinig gebruikt.
Nou ik heb niet het gevoel dat HTML5 en CSS3 heel snel geimplementeerd worden. En HTML5 en CSS3 zijn geenszins de structurele verbeteringen waar we sinds 1995 op zitten te wachten (!!!!!!). En je weet hoe lang het geduurd heeft voordat HTML4 en CSS1,5 een beetje wijd verbreid geadopteerd waren door browsers en webdesigners.quote:OkkE schreef op woensdag 12 september 2007 @ 16:34:
Het "fantastische" aan HTML5 en CSS3 is dat het nog meer semantiek toevoegd aan HTML en nog meer opmaak-mogelijkheden met zich mee brengt.
Opzich heeft dat niet veel met de orginele discussie te maken, maar wel als verlengde van de uitleg over waarom "divs" (wat ik liever semantisch bouwen noem) "beter" zijn/is als table-layout.
BikkelZ wijzigde dit bericht 12-09-2007 17:30 (7%)
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
Dat het erg lastig kan zijn is meteen een zeer sterk nadeel lijkt me of je moet blind zijn voor nadelen.quote:OkkE schreef op woensdag 12 september 2007 @ 17:08:
.... alleen maar voordelen heeft .... Dat het soms (erg) lastig is, dat geef ik direct toe.
moozzuzz wijzigde dit bericht 12-09-2007 18:16 (14%)
ProMoozz.org - XHTML is for pussies!
En dan alsnog voorstander zijn van CSS, dat is een beetje krom. Windows Vista is in de ogen van velen ook nog 'geen volgroeid OS', en dat is voor veel van die mensen een reden om bij XP te blijven. Ik dat opzicht zou het juist een wijze keuze zijn voorlopig nog de 'geteste methode' van tabellen te gebruiken.quote:CSS is zeker nog geen volgroeide techiek, waar nog een hoop aan verbeterd kan worden. En dat CSS complex is, is zeker waar.
CSS is dan juist een zegen. Als je je website logisch opbouwt, heb je in tien minuten een print-stylesheet geschreve. De workarounds omvatten doorgaans aparte PHP-scripts. Ook die zijn in tien minuten gemaakt, maar al het onderhoud moet je dubbel doen. Met CSS pak je het probleem generieker aan: je verandert de presentatie in plaats van de data.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
Websites zijn gewoon (nog) niet bedoeld om te printen, dus de gebruikte workarounds zullen in deze gevallen toch vaak de voorkeur genieten.
Daar ben ik het mee eens. Dat argument wordt ook zelden gebruikt. De meeste mensen brengen ingewikkeld onderhoud en ontoegankelijkheid aan als argumenten tegen het gebruik van tabellen voor layout-doeleinden.quote:Als laatste vind ik het argument 'omdat het daar niet voor bedoeld is' één van de slechtste argumenten die je in deze discussie naar voren kunt brengen.[...]
Het punt is dat je met CSS dus niet de goede lay-out kunt maken. Dan moet je dus concessies doen aan je primaire medium alleen om te kunnen printen. Dat vind ik moeilijk te verteren, zeker als PHP standaard gebruikt wordt en je zoals je zelf ook zegt daarmee hetzelfde effect kunt bereiken, zónder in je mogelijkheden beperkt te worden.quote:Niels Sijm schreef op woensdag 12 september 2007 @ 22:30:
CSS is dan juist een zegen. Als je je website logisch opbouwt, heb je in tien minuten een print-stylesheet geschreven. De workarounds omvatten doorgaans aparte PHP-scripts. Ook die zijn in tien minuten gemaakt, maar al het onderhoud moet je dubbel doen. Met CSS pak je het probleem generieker aan: je verandert de presentatie in plaats van de data.
Overigens grappig dat zowel Jaaap als ik een voorbeeld gegeven van iets wat makkelijk met tables kan maar niet met css, en hoewel er genoeg proponenten van css verklaard hebben dat alles best wel kan met css, heeft nog niemand uitgelegd hóé dan. Kan ik daaruit concluderen dat er consensus bestaat over de gebrekkigheid van css?quote:Dat argument wordt ook zelden gebruikt. De meeste mensen brengen ingewikkeld onderhoud en ontoegankelijkheid aan als argumenten tegen het gebruik van tabellen voor layout-doeleinden.
Helaas helpt CSS niet tegen hetgene dat mensen het meest irriteert bij het printen van een website: De menu's die aan de linkerkant staan, het grote opzichtige logo erboven, en eventueel een kleiner menu onder in de footer. Om deze redenen gebruikt men workarounds, niet om het feit dat de tekstkleur op de website wit is, en deze op papier er in het zwart veel beter uitziet. Pas als CSS ook aan kan geven welke elementen niet geprint mogen worden, kan dit argument standhouden (en alle elementen visibility: hidden meegeven is evengoed een workaround uiteraardquote:Niels Sijm schreef op woensdag 12 september 2007 @ 22:30:
CSS is dan juist een zegen. Als je je website logisch opbouwt, heb je in tien minuten een print-stylesheet geschreve. De workarounds omvatten doorgaans aparte PHP-scripts. Ook die zijn in tien minuten gemaakt, maar al het onderhoud moet je dubbel doen. Met CSS pak je het probleem generieker aan: je verandert de presentatie in plaats van de data.
Helaas komt het argument maar veel te vaak voorbij. Ook op GoT betrap ik men er nog wel eens op. Dat tables vaak moeilijker te onderhouden zijn is ook niet altijd van toepassing, aangezien div's, zeker als ze absoluut of relatief gepositioneerd zijn, een complete handleiding vereisen om aan een derde partij aan te geven waar wat nu precies voor staat. En de kwestie ontoegankelijkheid gaat ook niet altijd meer op, zeker niet als de website ontworpen is voor een specifieke doelgroep. Dat ook slechtzienden makkelijk toegang krijgen tot de informatie is heel leuk (om maar een voorbeeld te noemen), maar een fotograaf die zijn werk in een online portfolio zet, zal er zeer weinig boodschap aan hebben.quote:Daar ben ik het mee eens. Dat argument wordt ook zelden gebruikt. De meeste mensen brengen ingewikkeld onderhoud en ontoegankelijkheid aan als argumenten tegen het gebruik van tabellen voor layout-doeleinden.
Waarom is "visibility: hidden" een workaround? Ik geef zelf altijd een "display: none", maar het idee is hetzelfde. Waar zijn beide properties anders voor gemaakt? Je wilt de presentatie aanpassen, dus gebruik je CSS.quote:Duroth schreef op woensdag 12 september 2007 @ 22:51:
Pas als CSS ook aan kan geven welke elementen niet geprint mogen worden, kan dit argument standhouden (en alle elementen visibility: hidden meegeven is evengoed een workaround uiteraard)
Nog nooit van media-stylesheets gehoord?quote:Duroth schreef op woensdag 12 september 2007 @ 22:51:
Helaas helpt CSS niet tegen hetgene dat mensen het meest irriteert bij het printen van een website: De menu's die aan de linkerkant staan, het grote opzichtige logo erboven, en eventueel een kleiner menu onder in de footer. Om deze redenen gebruikt men workarounds, niet om het feit dat de tekstkleur op de website wit is, en deze op papier er in het zwart veel beter uitziet. Pas als CSS ook aan kan geven welke elementen niet geprint mogen worden, kan dit argument standhouden (en alle elementen visibility: hidden meegeven is evengoed een workaround uiteraard)
Ik wil het geen gebrekkigheid noemen maar immaturity, zowel van implementaties als van de specificaties. Er staat zoals gezegd echter wel veel op stapel, kijk anders eens op http://www.w3.org/Style/CSS/current-work - gridlayouts worden daarin ook voorzien als een uitbreiding op multi-column layouts. Dat soort dingen kosten echter tijd, en het kost nog meer tijd voordat er goede implementaties zijn en bugs en tekortkomingen kunnen worden geconstateerd en gerepareerd in revisies. Who's to blame? Well, misschien moeten we allemaal wel een beetje de hand in eigen boezem steken...quote:Soultaker schreef op woensdag 12 september 2007 @ 22:50:
[...]
Overigens grappig dat zowel Jaaap als ik een voorbeeld gegeven van iets wat makkelijk met tables kan maar niet met css, en hoewel er genoeg proponenten van css verklaard hebben dat alles best wel kan met css, heeft nog niemand uitgelegd hóé dan. Kan ik daaruit concluderen dat er consensus bestaat over de gebrekkigheid van cssZ
Ik fix problemen die volgens de vorige ontwikkelaar in werkelijkheid toch nooit zouden voorkomen.
Dus omdat een techniek nog niet 100% voldoet, moeten we het daarom maar niet gebruiken? Ik geef toe dat CSS nog niet 100% goed is, maar ik zie persoonlijk meer voordelen aan semantisch webdesign (en dat is meer als alleen werken met CSS) in vergelijking met het (overvloedig) gebruik van tabellen.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
En dan alsnog voorstander zijn van CSS, dat is een beetje krom. [...]
Het gebruik van semantische HTML heeft als één van de voordelen, dat je geen apart print-script hoeft te maken. Je hoeft geen aparte versie voor print te maken (die je ook weer moet aanpassen indien er iets aan de pagina veranderd wordt). Daarnaast heeft semantische HTML nog veel meer voordelen; spiders hebben een beter idee wat met bepaalde content bedoelt wordt, door minder tabel-, tr- en td-elementen wordt je keyword density hoger, met een screen reader een tabel-website bekijken is gewoon geen pretje, etc..quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
[...] Wanneer men een pagina wilt printen, zijn menu's vaak ongewenst, en veel sites hanteren een simpel scriptje om middels een pop-up een pagina te openen die geschikt is voor print. Het argument dat 'semantische' HTML d.m.v. divs voor dit doel effectiever zou zijn, gaat dus nauwelijks op. [...]
Zoals ik al eerder aan heb gegeven, ben ik nog maar weinig ontwerpen tegen gekomen die ik niet kon bouwen met HTML en CSS. Kan zijn omdat ik geluk heb met onze ontwerper, die (ongeveer) weet wat wel en niet kan, ik weet het niet.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
[...] maar totdat browsers deze ook naar alle tevredenheid ondersteunen, zal men andere mogelijkheden toe moeten passen.
Ik geloof niet dat ik dit argument zelf ooit gebruikt heb, in deze discussie. Maar het is in mijn ogen wél een (goed) argument, namelijk om de volgende reden: elk element (op DIV en SPAN na) heeft een betekenis. Tabellen zijn bedoeld voor tabulaire data. Nu is het niet echt een heel zwaar wegend argument, maar computers zullen dus denken dat je website tabulaire data is, waarbij over het algemeen verbanden bestaan. Zoals ik zei; niet echt sterk, maar zeker ook niet helemaal onzin.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
[...] Als laatste vind ik het argument 'omdat het daar niet voor bedoeld is' één van de slechtste argumenten die je in deze discussie naar voren kunt brengen.
Ben ik opzich wel met je eens, maar alleen als er geen beter alternatief beschikbaar is. En dat is denk ik het punt, hier verschillen de meningen, maar ik denk dat er een beter alternatief is, boven het gebruik van tabellen voor opmaak.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
[...] Zolang je je doel bereikt, kan het argument 'omdat het er niet voor bedoeld is' IMO absoluut niet gebruikt worden ter rechtvaardiging. [...]
Mij staat de houding "tabellen zijn prima voor opmaak" me niet zo aan, dat vind ik een beetje de Microsoft houding, NOFI.quote:Duroth schreef op woensdag 12 september 2007 @ 21:03:
[...] Sorry voor de lange post, maar het semantiek-regime dat sommige mensen erop nahouden, staat me gewoon niet zo aan
Ik heb eigenlijk nooit concessies hoeven doen aan een layout om hem printbaar te maken...quote:Soultaker schreef op woensdag 12 september 2007 @ 22:50:
Het punt is dat je met CSS dus niet de goede lay-out kunt maken. Dan moet je dus concessies doen aan je primaire medium alleen om te kunnen printen. [...]
Ik denk dat we het er wel over eens zijn, dat bepaalde layouts niet (of iedergeval niet zonder hacks) te maken zijn met CSS. En om in dat geval een tabel te gebruiken, kan dan best een oplossing zijn.quote:Soultaker schreef op woensdag 12 september 2007 @ 22:50:
[...] Kan ik daaruit concluderen dat er consensus bestaat over de gebrekkigheid van css?
Ik heb anders al meerdere malen content verborgen dmv 'display:none;' in een print-stylesheet. Dus tenzij we beide iets anders bedoelen, is het wel mogelijk om content te verbergen bij het printen.quote:Duroth schreef op woensdag 12 september 2007 @ 22:51:
[...] Pas als CSS ook aan kan geven welke elementen niet geprint mogen worden, kan dit argument standhouden (en alle elementen visibility: hidden meegeven is evengoed een workaround uiteraard)
Tabellen zijn lastiger te onderhouden als een website met CSS, wanneer (delen van de) website gerestyled/gerepositioneerd moeten worden. Over het algemeen kun je sneller een DIV op een andere plaats zetten als een tabel-cel.quote:Duroth schreef op woensdag 12 september 2007 @ 22:51:
Helaas komt het argument maar veel te vaak voorbij. Ook op GoT betrap ik men er nog wel eens op. Dat tables vaak moeilijker te onderhouden zijn is ook niet altijd van toepassing, aangezien div's, zeker als ze absoluut of relatief gepositioneerd zijn, een complete handleiding vereisen om aan een derde partij aan te geven waar wat nu precies voor staat. En de kwestie ontoegankelijkheid gaat ook niet altijd meer op, zeker niet als de website ontworpen is voor een specifieke doelgroep. Dat ook slechtzienden makkelijk toegang krijgen tot de informatie is heel leuk (om maar een voorbeeld te noemen), maar een fotograaf die zijn werk in een online portfolio zet, zal er zeer weinig boodschap aan hebben.
Ben ik niet met je eens. Ik vind dat je je wel druk moet maken om semantiek. Dat je uiteindelijk besluit dat een tabel te gebruiken vind ik niet zo erg, als je die keuze maar wel overwogen gemaakt hebt. En dan hangt het vooral van kennis, browser-ondersteuning en tijd/geld af, of er gekozen wordt voor een tabel, denk ik.quote:Duroth schreef op woensdag 12 september 2007 @ 22:51:
Om de conclusie van mijn vorige post nog maar even samen te vatten: CSS is in sommige gevallen inderdaad een verbetering, maar in sommige gevallen heb je er niks aan. Gebruik gewoon wat in de situatie het efficiëntst is, zonder je zorgen te maken om de semantiek. wat 'correct' is en wat niet is altijd een mening, wat 'werkt' en wat niet, daar kunnen mensen wat mee.
Partyagenda:
12/12 TimeWarp (Maassilo)
Meuh. Zeker als je complexere layouts maakt, dan is CSS gebruik in mijn ogen sneller, maar dat kan ook zijn omdat ik alleen de eerste 3 jaar met tables heb gewerkt en nu alweer dik 3 jaar met CSS in de weer ben. Het moment waar je écht merkt wat de meest praktische kracht van CSS is, is als je je ingewikkelde layout moet veranderen. Dan ga je als tabledesigner zo ongelooflijk hard op je bek. Het makkelijke aan CSS is dat je alleen code hebt voor de dingen die je daadwerkelijk gebruikt, dus geen loze cellen, rijen, enz. Gewoon per onderdeel een <div> ofzo. Wil je die ergens anders hebben? Smijt hem gewoon daar neer. In de praktijk heb ik nauwelijks problemen met browsers en als ik die al heb, dan is het 99% van de keren Internet Explorer die de boel gruwelijk verneukt, maar die devvers in Redmond zijn gewoon zo kanzloß dat ze zelfs nog bruikbare bugs produceren, waardoor je de IE quirks ook weer makkelijk in toom kan krijgen.quote:imp4ct schreef op dinsdag 11 september 2007 @ 22:28:
Reden is vrij simpel, 't gaat gewoon een stuk sneller
If YouTube MySpace then i Google your Yahoo.....
Dit topic is gesloten.
© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden
Uitgever van: