Frames, tabellen of div's?

Info 
Door: _ms_ Moeilijkheidsgraad: 1/3
Views:44.533Reacties: 11(Bekijken)
  Log in om zelf te reageren
 Waardering:8.6/10 (10 stemmen)



Regelmatig wordt de vraag gesteld: "Kan ik nu het best frames, tabellen of div's gebruiken voor mijn site?". Het antwoord op deze relatief simpele vraag is per persoon verschillend. Het hangt er maar net vanaf wat je wil maken, of je zelf html/css kunt schrijven en of je webruimte php ondersteund.

Wat is voor mij het meest geschikt?


Met het onderstaande schema kun je aan de hand van enkele vragen bepalen wat de meest geschikte manier is om je site te maken.:

1. Kun je zelf HTML en CSS schrijven?
Ja, ga verder met vraag 3;
Nee, ga verder met vraag 2.

2. Heeft of krijgt je site meer dan ongeveer twintig* pagina's?
Ja, maak gebruik van frames (of een iframe);
Nee, maak je site met tabellen;

3. Kun en wil je PHP of een andere serversided taal gebruiken? (Let erop dat je server dat ondersteund!)
Ja, maak je site met divs en maak evt gebruik van include-/switch-functie van PHP of een vergelijkbare functie van een andere serversided taal;
Nee, ga verder met vraag 4.

4. Heeft of krijgt je site meer dan ongeveer twintig* pagina's?
Ja, maak gebruik van frames (of een iframe);
Nee, maak je site met div's.

* Twintig pagina's is een persoonlijke keuze en hier kun je dus vanaf wijken. Een getal tussen tien en dertig is realistisch.

Wat zijn de voor- en nadelen?


Frames
Frames zijn erg makkelijk voor de beginnende webdesigner. Een site maken met veel pagina's is geen enkel probleem. Er kunnen vrij eenvoudig wijzigingen worden gemaakt in de layout.
Een nadeel is echter dat dit soort site's moeilijk te indexeren zijn door zoekrobots. Dit komt omdat één webpagina eigenlijk uit meerdere kleine pagina's is opgebouwd. Een zoekrobot ziet alleen de afzonderlijke pagina's en niet het geheel en kan de site dus niet goed indexeren.
Meer ervaren webmaster zullen om deze reden niet graag gebruik maken van frames. Alleen als de site uit veel pagina's bestaat en er geen gebruik kan worden gemaakt van PHP heeft deze weinig keus.

Omdat het gebruik van frames een totaal andere techniek is dan tabellen of divs en webmasters over het algemeen na verloop van tijd verder willen in hun leerproces, willen veel webmasters liever over stappen naar tabellen of divs. Echter is dit niet altijd mogelijk doordat hun site uit veel pagina's bestaat en er geen gebruik kan worden van PHP. Een mogelijk alternatief is dan gebruik van tabellen of div's in combinatie met één of meerdere iframe's. Deze methode zorgt ervoor dat je verder kunt in je leerproces, maar wel gebruik blijft maken van frames. Helaas blijven wel de eigenschappen van frames gelden.

Een enkele keer wordt beweerd dat frames niet in elke browser werken. Dit klopt wel, maar deze browsers worden nog maar zeer zelden gebruikt. Hier hoef je dus in principe geen rekening meer mee te houden. Echter, het gebruik van de noframes-tag is natuurlijk wel zo netjes.

Samenvatting:
+ Makkelijk voor beginner;
+ Veel pagina's is mogelijk. Menu e.d. zijn later simpel te passen wijzigen;
- Website is niet tot moeilijk te te indexeren door zoekrobots.

Mocht je besluiten met frames te gaan werken, dan heb je misschien iets aan de volgende tut(s):
Een website in frames � Een template

Tabellen
Tabellen zijn vrij eenvoudig toe te passen voor beginners. Het komt er op neer dat je een tabel gebruikt voor de indeling voor je site. Een voorbeeldje: In de eerste rij maak je de header. De tweede rij bestaat uit twee cellen. In de linker cel komt het menu en in de rechter de content van de pagina. In de derde rij staat de footer. Ander configuraties kunnen natuurlijk ook.

Je kunt op elke pagina die je maakt de standaard element (header, menu, footer, enz) kopieren van een voorgaande pagina. Alleen de content pas je per pagina aan. Nadeel is natuurlijk dat wanneer bv je menu verandert, je dit op alle pagina's moet veranderen. Als je site uit veel pagina's bestaat, dan is dit dus geen fijne klus meer om te doen. Dit is eventueel op te lossen door gebruik te maken de include-/switch-functie van PHP (of een andere serversided taal). Uiteraard moet de server wel PHP (of een andere serversided taal) ondersteunen! Wanneer je hier geen gebruik van kan maken, dan kun je overwegen om JavaScript te gebruiken. Echter is dit een clientside taal en als de bezoeker deze uitgeschakeld heeft staan, dan werkt het script niet en wordt de pagina niet volledig weergegeven.

Een ander nadeel is dat het symantisch gezien hardstikke verkeerd is. Een tabel dient er tenslotte voor om tabelvormige data in te zetten en niet als mal om je site in te maken. De correcte manier zijn div's. Echter voor het gebruik van div's is meer kennis nodig.

Samenvatting:
+ Vrij eenvoudig toe te passen en dus makkelijk voor beginners;
- Bij veel pagina's is het lastiger om bv het menu aan te passen. Dit moet je dan namelijk op elke pagina aanpassen. (PHP of een andere serversided taal lost dit probleem op.);
- Niet semantisch.

Meer info over semantiek:
Semantiek, wat heb ik er aan?

Div's
Het gebruik van divisions, kortweg div's, is de beste methode. Het gebruik van div's is symantisch, maar vergt wel de nodige kennis van HTML en CSS.
Echter heeft ook deze methode nadelen. Als een site namelijk symantisch (volgens de richtlijnen van W3C) wordt geschreven, dan zou elke site in principe goed moeten worden weergegeven. Helaas houden browser - en dan met namen Internet Explorer van Microsoft - er eigen richtlijnen op na. Dit zorgt er voor dat een perfect geschreven site er toch verkeerd uit kan zien. Dit is vaak op te lossen door het gebruik van bepaalde trukjes, ook wel hacks genoemd. Echter helemaal ideaal is dit natuurlijk niet.

Je kunt, net als bij tabellen, op elke pagina die je maakt de standaard element (header, menu, footer, enz) kopieren van een voorgaande pagina. Alleen de content pas je per pagina aan. Nadeel is natuurlijk dat wanneer bv je menu verandert, je dit op alle pagina's moet veranderen. Als je site uit veel pagina's bestaat, dan is dit dus geen fijne klus meer om te doen. Dit is eventueel op te lossen door gebruik te maken de include-/switch-functie van PHP (of een andere serversided taal). Uiteraard moet de server wel PHP (of een andere serversided taal) ondersteunen! Wanneer je hier geen gebruik van kan maken, dan kun je overwegen om JavaScript te gebruiken. Echter is dit een clientside taal en als de bezoeker deze uitgeschakeld heeft staan, dan werkt het script niet en wordt de pagina niet volledig weergegeven.

Veel webmasters gebruiken div's op de verkeerde manier. Div's dienen namelijk alleen om elementen te groeperen. Wanneer je slecht één element, bijvoorbeeld een header, in een div zet is dit onnodig. Er staat dan immers maar één element in de div. (Wanneer je header, uit het voorbeeld, uit meerdere elementen bestaat is een div natuurlijk wel nuttig, maar dit is meestal niet het geval.)

Samenvatting:
+ De beste en tevens semantische methode
- Lastiger om je site op alle browsers correct te laten weergeven en dus lastig voor beginners
- Bij veel pagina's is het lastiger om bv het menu aan te passen. Dit moet je dan namelijk op elke pagina aanpassen. (PHP of een andere serversided taal lost dit probleem op.)
! Let op dat je geen onnodige divs gebruikt.

Mocht je besluiten met div's te gaan werken, dan heb je misschien iets aan de volgende tut(s):
Layout: 2 kolommen (volgens Blizt)
Layout: 2 kolommen (volgens indianajames)
Layout: 2 kolommen (volgens thekoekoek)



Dit is het einde van deze tuturial. Mocht je vragen hebben naar aanleiding van deze tuturial, dan kun je deze stellen op het forum.. Mocht je opmerkingen hebben over deze tuturial, dan kun je deze hieronder plaatsen.

Edit (02-12-2006):
Kleine opmaak wijziging en typo's.

11 reacties
Ciagraprofessional54vjn Geplaatst op 20-04-2010 om 17:11
 

Regular
bedankt was nuttige info
odie Geplaatst op 14-01-2009 om 15:10
 

Regular
Mooi, strak, simpel en gebruiksvriendelijk -gericht opgesteld.
Een pluim voor deze post !
shanna Geplaatst op 03-09-2008 om 13:29
 

Regular
.Stef Geplaatst op 30-01-2008 om 22:45
 

Regular
Je kan het denk ik beter/makkelijker met tabellen doen
Onbekend lid Geplaatst op 13-12-2007 om 11:45
 

Spammer
kan iemand mij uitleggen welke framcode ik moet gebruiken om je pagina in te delen in 3 horizontale vlakken 1 boven met een kop, daaronder een vlak wat ingedeeld is in 3 kolommen (navigatie, pagina's en informatie), maar onder die drie kolommen zou ik dan nog een frame willen over de hele breedte waar ik mijn adresgegevens e.d. in kwijt kan .Ik heb al met cols en rows geprobeerd, maar dan krijg ik het niet voor elkaar. Wie kan mij helpen?

Pagina 1 2 3 

Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!


Terug naar gewone pagina

Websitemaken wordt gehost door Nucleus.be, uw Hosting Solution Builder