Welkom

Welkom bij deze minicursus HTML.
Deze cursus heeft als doel u snel bekend te maken met HTML.
U leert de basis begrippen en zodra u alle paragrafen heeft doorgelopen kunt u een eenvoudige web-site opzetten.
De website die u maakt is dan een statische web-site omdat alles in HTML code is geschreven, als u iets wilt aanpassen zult u dat handmatig moeten doen.

Wanneer u verdere diepgang in HTML wilt krijgen dan zijn er vele boeken en sites die u graag verder willen helpen.
Een van mijn favouriete sites is
www.W3Schools.com. Deze engelstalige site heeft heel veel informatie over HTML en wat er mee te maken heeft. Vooral de opsomming van de tags (zie de paragraaf Basis) is handig om snel na toe zoeken hoe het ook alweer zat.
Een van mijn favouriete boeken is XHTML van Brian Proffit en Ann Zupan (ISBN 90-229-4406-9).


Inleiding

HTML staat voor Hypertext Markup Language en doet, simpel gezegd, niets meer beschrijven hoe een internet pagina eruit moet zien; welke tekst staat er op, welke plaatjes worden getoond, welke links zijn er en al dat soort dingen meer.
Binnen HTML wordt gebruik gemaakt van tags; dit zijn aanwijzingen de browser (b.v. Internet Explorer) om iets speciaals te doen. Zo kan de tekst vet gemaakt worden, schuin afgedrukt worden of onderstreept worden.

Een website doet niets meer dan html-pagina's sturen naar de browser. Dit zijn gewone tekst pagina's met de uitgang .htm of .html.
Er zijn verschillende manieren waarop u een html-pagina kunt maken zoals Dreamweaver, Frontpage, Word of zelfs Photoshop.
U kunt deze pagina's ook zelf maken met Notepad. De tekst moet dan zelf getyped worden hetgeen wat meer werk kost, maar er zij een aantal voordelen; de pagina's die je met de hand maakt doen hetzelfde als die je met een programma maakt, maar zijn kleiner en dus sneller. Ook kun je precies aangeven wat er in moet komen en op welke plaats. Tot slot geeft niets zo veel voldoening als een werkende web-site die helemaal met de hand is gemaakt.

De opbouw van de cursus is
Basis
Plaatjes, achtergrond en links
Tabellen en lijsten
Forms
Frames


Basis

Belangrijkste kenmerk van HTML is dat er een verschil is tussen de dingen die u als bezoeker op het scherm zit (zeg maar de gewone tekst en de plaatjes) en de dingen die de browser vertellen hoe de pagina opgemaakt moet worden. HTML gebruikt hiervoor tags; een tag staat altijd tussen rechte haakjes (<>) en bevat de beschrijving (b.v. <b> voor bold). Tags komen meestal voor in paren; een begintag en een eindtag. De eindtag is gelijk aan de begintag met een schuine streep; zo is de eindtag van bold afdrukken</b>. Gebruikt u dus de tekst Jan is <b>hartstikke</b> gek dan zou het er ongeveer zo uit moeten zien: Jan is hartstikke gek.

Een HTML pagina bestaat uit de volgende onderdelen
<html>
 <head>
 </head>
 <body>
 </body>
</html>

Hoewel het niet veel voorstelt op een scherm (er wordt niets getoond) is het een goede HTML-pagina. Als u deze tekst in Notepad opneemt en opslaat als bijv. index.html dan heeft u uw eerste web-pagina gemaakt. Ga met de verkenner naar dit bestand toe en dubbel klik er maar eens op.

Met de HTML-tags geeft u aan dat het een web-pagina is.
Tussen de head-tags wordt een beschrijving gegeven over de pagina; wie heeft hem gemaakt, waarmee en wanneer. Ook worden hier de kenwoorden opgenomen waarmee b.v. Google kan bepalen waarover de pagina gaat.
Een van de belangrijkste tags is <title>...</title>. Hiermee wordt (op de plaats van de punten) de naam van de website getoond in de titelbalk van de browser; in dit geval dus "Mini-cursus HTML".
Alles wat tussen <body> en </body> staat wordt op het scherm getoond.

Alles wat u tussen <body> en </body> wordt bijna letterlijk op het scherm getoond. Bijna letterlijk want een browser maakt van 2 spaties 1 spatie en maakt van een return ook een spatie.
Wilt u dat de nieuwe regel opnieuw vooraan aan het scherm begint dan voert u <br>. Dit staat voor break, wordt niet in de browser getoond en is een van de weinige tags die geen eindtag heeft.
Wilt u een blanco regel dan maakt u een nieuwe paragraaf met <p>. Dit staat voor paragraph, wordt niet in het scherm getoond en kent wel een eindtag (</p>), maar die is niet verplicht. Als u hem vergeet is er geen probleem. In de paragraaf tag kunt u aangeven hoe te tekst uitgelijnd moet worden.
<p align=left> lijnt alles links uit (standaard).
<p align=right>lijnt alles rechts uit.
<p align=center>lijnt alles in het midden uit.

Als u tekst een ander uiterlijk wilt geven dan kan dat met
Vet<b>Vet</b>
Cursief<i>Cursief</i>
Onderstreept<u>Onderstreept</u>
Doorgehaald<strike>Doorgehaald</strike>
Met behulp <font> en </font> kunt u de tekst die daartussen staat tijdelijk kleiner of groter maken, een ander lettertype geven of een andere kleur geven.
Met behulp van <font color=red> en </font> past u de kleur aan in bijvoorbeeld rood.
Met behulp van <font face=courier> en </font> past u de font aan in bijvoorbeeld Courier.
Met behulp van <font size=5> en </font> past u de grootte van de tekst aan; 3 is standaard, 1 het kleinste en 7 het grootste.
De <font size=5> en <font> gebruikt u als u een gedeelte van de tekst wilt aanpassen. Wilt u een kop maken dan gebruikt u de <h1> en </h1> tags. Alles wat tussen deze tags staat is een kop en staat dan ook meteen gescheiden van de rest van de tekst. Net als in Word zijn er verschillende koppen mogelijk van <h1> - </h1> tot en met <h6> - </h6>.

Tot slot de tag voor een scheidingslijn; dit is <hr>; er is geen eindtag. Sommige programmeurs gebruiken <hr />

Top van deze pagina



Plaatjes, achtergrond en links

Met behulp van bovenstaande tags kunt u al weg-sites maken. Nadeel is echter dat deze er nogal saai uitzien, alleen maar tekst en hooguit een lijn.

Het toevoegen van een plaatje is echter een fluitje van een cent. Het enige wat u nodig heeft is het plaatje zelf (type .gif of .jpg) en de tag <img>. In deze tag is een heel belangrijk onderdeel; de naam van het plaatje. Maar ook de onderdelen height and width kunnen u helpen.
Belangrijk is ook de plaats van het plaatje. Als deze in dezelfde directory staat dan is de naam voldoende, staat het ergens anders dan moet u de padverwijzing toevoegen. Dit kan een absoluut pad zijn (zoals http://www.heltzel.nl/plaatjes/back.gif) maar ook een relatief pad (zoals ./plaatjes/back.gif). Het is aan u waar u de voorkeur aangeeft, maar persoonlijk deel ik een website in, in een hoofddirectory (zeg maar de plaats van de html-bestanden) en diverse sub-directories voor de verschillende doeleinden (meestal de plaatjes) en maak gebruik van relatieve verwijzingen.
Belangrijk : Het maakt niet uit of u gebruik maakt van absolute of relatieve verwijzingen, de scheiding van de directories is altijd een schuine streep (/); ongeacht of u met Windows, Linux of Unix werkt.


Dit plaatje staat in dezelfde directory als het HTML-bestand en is toegevoegd met de code <img src="01.jpg" height=250 width=350>. Hiermee geeft u aan dat het plaatje 350 pixels breed en 250 pixels hoog moet zijn.

Wilt u de achtergrond wat verfraaien dan kan dat met een plaatje of een kleur. Het is aan te bevelen dat het plaatje neutraal is; het is niet de bedoeling dat de aandacht van de bezoeker afgeleid wordt, of zelfs erger, dat de tekst niet is te lezen.
In de declaratie van de body van de pagina (<body>) geeft u aan dat er een plaatje gebruik moet worden, een kleur of beiden. Gebruikt u dit laatste (plaatje en kleur) dan gaat het plaatje boven de kleur, maar als er problemen zijn met de achtergrond (b.v. het plaatje is er niet) dan krijgt u alsnog de achtergrondkleur.
Met de code <body background ="../plaatjes/back.gif" bgcolor=#dfdfdf> wordt aangegeven dat het plaatje back.gif gebruikt moet worden en als dat niet gaat de achtergrond grijs moet zijn. U hoeft de codes voor de kleuren niet uit uit hoofd te kennen; als u op Google zoekt met webcolors krijgt u vele sites die u graag verder helpen;
W3Schools heeft een van die pagina's.

Een pagina alleen is ook zo maar alleen en waarschijnlijk wilt u dat de bezoeker vanaf deze pagina andere pagina's bezoekt. Hiervoor heeft u hyperlinks nodig die niets meer zijn dan een verwijzing. Op dit onderdeel van de website heeft u ze al gezien. Rechts naast deze tekst staan verwijzingen naar andere onderdelen van mijn website en u heeft er al een paar gezien naar http://www.w3schools.com. Dit zijn links naar een pagina ergens op het Internet.

Een hyperlink bestaat uit twee onderdelen en dat zijn het adres waarnaar toe verwezen wordt en de naam die de bezoeker zit.
De verwijzing naar de pagina met de kleurcodes is <a href="http://www.w3schools.com/HTML/html_colornames.asp" target=_blank>W3Schools</a>.
Het deel <a href="..."> is verplicht en geeft de plaats aan waarnaar toe gegaan moet worden; op de punten van de plaats vult u de naam van de pagina in.
Het deel target=_blank voor > hoeft niet ingevuld te worden, maar hiermee kunt u aangeven hoe de nieuwe pagina geopend moet worden. Hiervoor kunt u de volgende 4 codes gebruiken:

_blank Opent het bestand in een gloednieuw browservenster
_self Opent het bestand in het huidige frame
_parentVervangt het huidige framesetbestand door het nieuwe bestand
_top Wist alle frames en laadt het bestand in de huidge browser

U kunt ook op de pagina zelf navigeren. Op deze pagina zijn dat de paragraafindelingen en de terugkeer naar het begin.
Hierbij moet op de pagina zelf ankerpunten aanmaken zodat de browser weet waarhij naar toe moet. Het aanmaken van een ankerpunt doet u met de tag <a name="top">. Die plaats op de pagina heeft dus de naam top. Op deze pagina is dat helemaal boven aan bij de kop "Welkom".
Iedere keer dat u wilt dat er naar zo'n ankerpunt gegaan moet worden gebruikt u de code <a href="body.html#top">Top van deze pagina</a>.
De werking is gelijk aan die van een hyperlink met twee uitzonderingen:

  1. U kunt geen target ingeven
  2. U moet de browser vertellen dat er naar een onderdeel van de pagina gegaan moet worden en dat doet u door het hekje te gebruiken na de paginanaam en hierachter de naam van het ankerpunt te zetten

Top van deze pagina



Tabellen en lijsten

Als u nu al een web-pagina hebt gemaakt met de de bovenstaande kennis dan zal het u ongetwijfeld opgevallen zijn dat de browser alles onder elkaar zet.
Met behulp van tabellen kunt zelf de indeling maken. De beste vergelijking met een tabel is het ruitjespapier. Als u een blanco vel neemt dan kunt u dat vergelijken met een lege web-pagina. Als u nu over een aantal ruitjes lijnen zet dan heeft u een tabel gemaakt. De enige beperking van een tabel is dat het een rechthoek moet zijn.

Een tabel maak u met de tags <table> en </table>; in de tag <table> kunt u met width aangeven hoe breed deze moet zijn (absoluut in het aantal pixels, relaties in %). Als u wilt kunt u ook een rand om de tabel weergeven. De code voor de onderstaande tabel is <table width=100% border=1> ... </table>.
Dezetabelkent4
kolommenen4rijen
Deuitlijningislinks
enaandeonderkant

In een tabel kunt u zoveel rijen opnemen al u wilt; u gebruikt hiervoor de tags <tr> en </tr>. Wanneer u tekst opneemt in de tabel dan verdeelt de browser zelf over hoeveel regels dit verdeelt wordt. Als er meer dan 1 regel is dan kunt u de verticale uitlijning bepalen met valign.
<tr valign=top>


<tr valign=center>


<tr valign=bottom>



Binnen iedere rij kunt u zoveel kolommen opnemen als u wilt; u gebruikt hiervoor de tags <td> en </td>. De uitlijning bepaalt uzelf met align.
<td align=left> <td align=center> <td align=right>
Bij de rijen is <valign=center> de standaard en bij de kolommen <align=left>.

Bij een tabel zijn er vier begrippen.

  1. De tabel zelf;
  2. Die onderverdeeld is in een of meer rijen;
  3. Die onderveldeeld is in een of meer kolommen;
  4. De combinatie van een rij en kolom die een cel heeft.
Kolom AKolom BKolom C
Rij 1Cel A1Cel B1Cel C1
Rij 2Cel A2Cel B2Cel C2
Rij 3Cel A3Cel B3Cel C3

Er is echter een belangrijk onderdeel dat u niet mag vergeten. In een tabel moet in iedere rij evenveel kolommen zitten.
Maar wat nu als u dat niet wilt? U kunt per cel aangeven of deze over meer dan 1 kolom heen moet met de code colspan=.. waarbij op de plaats van de punten aangegeven wordt hoeveel kolommen het betreft.
Kolom AKolom BKolom C
Rij 1Cel A1Cel C1
Rij 2Cel A2
Rij 3Cel A3Cel B3
De code van de bovenstaande tabel is:
<table border=1>
 <tr><td></td><td>Kolom A</td><td>Kolom B</td><td>Kolom C</td></tr>
 <tr><td>Rij 1</td><td colspan=2>Cel A1</td><td>Cel C1</td></tr>
 <tr><td>Rij 2</td><td colspan=3>Cel A2</td></tr>
 <tr><td>Rij 3</td><td>Cel A3</td><td colspan=2>Cel B3</td></tr>
</table>

In de cellen van een tabel kan bijna alles opgenomen worden wat in de body van een HTML-pagina is toegestaan, zoals tekst, links, afbeeldingen en zelfs andere tabellen. Een van de meest gebruikte toepassingen van een tabel is de presentatie van afbeeldingen en vooral van afbeeldingen met verschillende formaten. Als u de afbeeldingen opneemt in een HTML-pagina dan is het afhankelijk van de browser en grootte van de afbeeldingen hoe ze gepresenteer worden; neemt u ze op in een tabel kan worden ze netjes in de vakken verdeeld. Natuurlijk moet u dan wel zelf rekening houden met de grootte en vooral breedte zodat het nog enigzins redelijk op het scherm getoond wordt.

Wanneer u een opsomming op uw pagina wilt tonen, zoals bijvoorbeeld een routebeschrijving, dan kunt u dit doen met behulp van een tabel met daarin een aantal rijen van 2 kolommen. In de 2e kolom zet u de verschillende stappen van de route en in de 1e kolom kunt u bijvoorbeeld een nummering opnemen. U kunt dit ook doen met lijsten waarbij de browser zelf voor het inspringen zorgt.
Er zijn drie soorten lijsten mogelijk en wel
  • De ongeordende lijst
  • De geordende lijst
  • De definitielijst
  1. De ongeordende lijst
  2. De geordende lijst
  3. De definitielijst
U ziet hier het verschil tussen een ongeordende en een geordende lijst. Een ongeordende lijst maakt u met de tags <ul> - </ul> en een geordende lijst met <ol> - </ol>. Voor ieder item dat u wilt tonen zet u tussen de tags <li> - </li>. U kunt zelfs een lijst binnen een lijst opvoeren.

  1. Item 1
    1. Subitem 1
    2. Subitem 2
  2. Item 2
De code voor de bovenstaande lijst is:
<ol>
 <li>Item 1
 <ol type=a>
  <li>Subitem 1
  <li>Subitem 2
 </ol>
 <li>Item 2
</ol>

U kunt de opmaak van de lijsten beinvloeden. Bij een ongeordende lijst kunt in de <ul>-tag meegeven wat het symbool is voor de lijst. U doet dat door <ul type="..."> en op de plaatsen van de punten het woord disc (standaard), circle of square in te vullen.
Bij een geordende lijst kunt in de <ol>-tag meegeven wat het symbool is voor de lijst. U doet dat door <ol type="..."> en op de plaatsen van de punten het teken 1 (standaard), i, I, a of A in te vullen.

De definitielijst wijkt iets af van de (on)geordende lijst. Er wordt gebruikt gemaakt van de tags <dl> - </dl> om een definitielijst te maken, maar de opsomming is altijd in paren. De tags <dt> - </dt> gebruikt u om de titel van de definitie weer te geven en de tags <dd> - </dd> om de defintiebeschrijving te geven. U ziet hieronder een voorbeeld van een definitielijst.

Ongeordende lijst
Opsomming van items zonder een aanduiding van de volgorde. Is te vergelijken met een boodschappenlijst. Wat op het lijstje staat moet allemaal meegenomen worden, maar er is geen volgorde waarin het gekocht moet worden.
Geordende lijst
Opsomming van item met een aanduiding van de volgorde. Is de vergelijken met een stappenplan. Alles wat op het lijstje staat moet uitgevoerd worden, maar in de juiste volgorde.
Definitielijst
Opsomming van verschillende begrippen die verder uitgelegd worden.

Top van deze pagina



Forms

HTML is in het algemeen een een-richtings verkeer. De webserver genereert de pagina's en de bezoeker bekijkt deze en klikt op een link waardoor er een nieuwe pagina getoond wordt. Er is eigenlijk geen interactie tussen de bezoeker en de web-pagina's. Met behulp van forms kunt u die interactie maken.
Belangrijk Met HTML kunt u ervoor zorgen dat de bezoeker wel informatie kan invoeren en naar de webserver kan versturen, maar HTML kan niet reageren op de inhoud van de informatie. Hiervoor heeft u op de webserver een script-omgeving nodig zoals PHP.

Met de tags <form> - </form> definieert u het formulier. Alles wat tussen deze tags staat wat als informatie doorgegeven naar de volgende pagina. In de tag <form> zijn twee belangrijke onderdelen en wel action en method. Achter action vult u het adres in van het script dat u wilt uitvoeren. Achter method vult of GET of POST; hiermee geeft u aan hoe de browser de ingevulde informatie moet sturen naar de webserver. Bij GET worden de ingevulde gegevens zichtbaar getoond in de browser, met POST is dat niet het geval. Vandaar dat POST de voorkeur heeft.
Tussen de form-tags neemt u de velden die ingevuld wilt zien. Dit doet u met de <input>- </input> tags; deze kunt u desgewenst afkorten naar <input />. In de <input>-tag worden een aantal extra velden opgenomen; de belangrijkste hiervan zijn type=... en name=.... Met name=... geeft u een naam aan de variabele die doorgegeven wordt naar de aangeroepen pagina. Met type=... geeft u het type aan wat de gebruiker kan invoeren.
Een van de belangrijkste <input> type is submit; hiermee wordt de invoer bevestigd.

In het onderstaande, fictieve voorbeeld, wordt een formulier gemaakt waarin achtereenvolgens het volgende wordt aangegeven:
Het formulier zorgt ervoor dat het script http://www.heltzel.nl/html/naam.php wordt aangeroepen.
De gebruiker kan zijn voor- en achternaam invullen en die wordt in de variabelen voornaam en achternaam gezet.
Er is een knop met de omschrijving 'Invoer tonen' die ervoor zorgt dat http://www.heltzel.nl/html/naam.php daadwerkelijk wordt aangeroepen.
<form action="http://www.heltzel.nl/html/naam.php" method="GET">
 <br>Uw voornaam : <input type="text" name="voornaam">
 <br>Uw achternaam : <input type="text" name="achternaam">
 <br><input type="submit" name="submit" value="Invoer tonen">
</form>

Uw voornaam :
Uw achternaam :

U ziet dat de <input>-tag een gewoon HTML tag is en neergezet wordt volgens de regels die u beschrijft. Beschrijft u niets dan komen deze tags achter elkaar.
Persoonlijk vind ik dat niet zo mooi en gebruik meestal tabellen om een nette opmaak te krijgen. Dit ziet er dan als volgt uit:

Uw voornaam
Uw achternaam
De code hiervan is
<form action="http://www.heltzel.nl/html/naam.php" method="GET">
 <table>
  <tr valign=center><td><font size=2>Uw voornaam</font></td><td><input type="text" name="voornaam"></input></td></tr>
  <tr valign=center><td><font size=2>Uw achternaam</font></td><td><input type="text" name="achternaam"></input></td></tr>
  <tr valign=center><td colspan=2 align=center><input type="submit" name="submit" value="Invoer tonen"></input></td></tr>
 </table>
</form>

Er zijn verschillende <input>-tags met verschillende werking. Hieronder ziet u steeds de opmaak van de tag, het doel en een voorbeeld ervan. U kunt ze gerust uitproberen.


text
<input type="text" name="emailadres"></input>
Maakt een vak om tekst in te voeren. De variabele wordt onder de naam "emailadres" doorgegeven.

textarea
<textarea name="opmerking" rows="3" cols="40"></input>
Maakt een vak om tekst in te voeren. De variabele wordt onder de naam "opmerking" doorgegeven.
Let op !In tegenstelling tot de andere items is dit geen input-type. U dient de tags <textarea> - </textarea> te gebruiken.


password
<input type="password" name="wachtwoord"></input>
Maakt een vak om tekst in te voeren. De variabele wordt onder de naam "wachtwoord" doorgegeven. In tegenstelling tot text wordt de invoer niet zichtbaar op het scherm weergegeven.

checkbox
<input type="checkbox" name="gelezen" value="...">.....</input>
Hiermee maakt u een overzicht waaruit de gebruiker kan kiezen. Voor iedere keuze moet u een <input>-tag gebruiken en moet name iedere keer gelijk zijn. Met behulp van value bepaalt u wat als inhoud wordt doorgestuurd. Ook moet u een omschrijving toevoegen zodat de bezoeker weet wat hij invult.
Gelezen
radio
<input type="radio" name="geslacht" value="...">.....</input>
Hiermee maakt u een overzicht waaruit de gebruiker er een kan kiezen; als er een andere keuze gemaakt wordt dan vervalt de eerste. Voor iedere keuze moet u een <input>-tag gebruiken en moet name iedere keer gelijk zijn. Met behulp van value bepaalt u wat als inhoud wordt doorgestuurd. Ook moet u een omschrijving toevoegen zodat de bezoeker weet wat hij invult.
Het verschil tussen radio and checkbox is dat bij radio maar een keuze mogelijk is en bij checkbox meerdere.
man
vrouw

submit
<input type="submit" name="submit" value="Invoer bevestigen">
Hiermee geeft u de bezoeker de mogelijkheid zijn invoer te bevestigen.

reset
<input type="reset" name="reset" value="Invoer wissen">
Hiermee geeft u de bezoeker de mogelijkheid zijn invoer in een keer te wissen.

Top van deze pagina


Frames


Bij het opmaken van een web-pagina kunt u gebruik maken van tabellen om een aardige structuur te krijgen. Ook met CSS (Cascading Style Sheets) is een mooie indeling mogelijk.
Maar wat nu als u een web-site wilt maken die uit meerdere pagina's bestaat en waarvan u wilt dat de basisopmaak steeds hetzelfde is en alleen de inhoud van detailpagina's wisselend is; zeg maar een opmaak zoals mijn site. U kunt dat doen met frames of CSS.
WaarschuwingHoewel u met frames een mooie opmaak kunt krijgen zijn er een aantal onderdelen waarmee u rekening moet houden.
 Als u frames gebruikt moet u nauwkeurig zijn in het gebruik ervan en vooral bij hyperlinks naar andere pagina's toe. Als u niet de juiste target gebruikt (_top, _self, _blank, _parent) dan zou het zo maar kunnen voorkomen dat de nieuwe pagina verkeerd wordt weergegeven.
 In theorie zou een bezoeker van uw pagina een browser kunnen gebruiken die geen frames ondersteund. Deze zou dan uw pagina niet kunnen zien. Het meerendeel (98% of meer) van de internet gebruikers gebruiken Internet Explorer, Firefox of Opera en die ondersteunen frames.
 Het uiterlijk van uw pagina kan iets afwijken bij andere browsers. Deze web-site gebruikt frames (6 om precies te zijn) en als u de pagina met Internet Explorer bezoekt moet u goed kijken om de overgangen tussen de frames te zien. Gebruikt u echter Firefox dan zit u tussen de frames een kleine witte rand.
Als u besluit om met frames te gaan werken dan moet u eerst een indeling maken hoe u frames eruit komen te zien en welke informatie u in de frames wilt tonen. Ik neem mijn web-site als voorbeeld.

Mijn eerste keuze was om 4 frames te gebruiken; een voor de kop en drie voor de inhoud. De inhoud zou dan zijn mijn adresgegevens, de detailpagina en de navigatie door mijn site. Globaal was dit:
Kop
AdresgegevensDetailpagina

Navigatie
In de kop wilde ik steeds een korte omschrijving van de pagina weergeven.

Uiteindelijk heb ik besloten of 6 frames te gebruiken omdat dit symetrischere indeling gaf en wat gemakkelijker is in het onderhoud. Uiteindelijk is dit de indeling geworden:
Kop 1Kop 2Kop 3
Body 1Body 2

Body 3

Ik heb voor Kop 1, Kop 3, Body 1 en Body 3 HTML-pagina's gemaakt voor hun speciaal doel.
Kop 1 en Kop 3 zijn gewoon plaatjes geworden voor de vulling van de pagina; als u wilt kunt u hier uw logo opnemen.
Body 1 zijn mijn adresgegevens geworden en Body 3 de navigatie door mijn site.
Iedere keer wanneer ik een nieuw onderdeel toevoeg aan mijn site dan zijn dit de vaste pagina's die ik toevoeg. Ik gebruik steeds dezelfde pagina's en dat heeft als voordeel dat als b.v. mijn telefoonnummer wijzigt ik dat op een plaats hoef door te voeren (Body 1) en dat dit meteen voor mijn hele site geldt.

Iedere keer wanneer ik een onderdeel toevoeg aan mijn site maak ik een afzondelijk HTML-pagina die de frames aanstuurt. Nu heb ik er twee en wel eentje voor het begin van mijn site (index.html) en een voor de mini-cursus html (html.html). Er komen nog drie HTML-pagina's bij en die zullen waarschijnlijk sql.html, php.html en css.html gaan heten.
Alle pagina's zijn gelijk op twee onderdelen na, namelijk de vulling van Kop 2 en Body 2. Kop 2 wordt steeds de titel van de pagina en Body 2 wordt steeds de inhoud van de pagina.

De inhoud van de pagina's is (verkort):
index.html
<html>
 <head>
 </head>
 <frameset rows="135,*" framespacing="0">
  <frameset cols="200,*,200">
   <frame src = "./standaard/kop1.html" frameborder="0" border="0" scrolling="no" />
   <frame src = "./index/kop.html" frameborder="0" border="0" scrolling="no" />
   <frame src = "./standaard/kop2.html" frameborder="0" border="0" scrolling="no" />
  </frameset>
  <frameset cols="200,*,200" framespacing="0">
   <frame src = "./standaard/body1.html" frameborder="0" border="0" scrolling="no"/>
   <frame src = "./index/body.html" frameborder="0" border="0" scrolling="yes"/>
   <frame src = "./standaard/body2.html" frameborder="0" border="0" scrolling="no"/>
  </frameset>
 </frameset>
</html>
html.html
<html>
 <head>
 </head>
 <frameset rows="135,*" framespacing="0">
  <frameset cols="200,*,200">
   <frame src = "./standaard/kop1.html" frameborder="0" border="0" scrolling="no" />
   <frame src = "./html/kop.html" frameborder="0" border="0" scrolling="no" />
   <frame src = "./standaard/kop2.html" frameborder="0" border="0" scrolling="no" />
  </frameset>
  <frameset cols="200,*,200" framespacing="0">
   <frame src = "./standaard/body1.html" frameborder="0" border="0" scrolling="no"/>
   <frame src = "./html/body.html" frameborder="0" border="0" scrolling="yes"/>
   <frame src = "./standaard/body2.html" frameborder="0" border="0" scrolling="no"/>
  </frameset>
 </frameset>
</html>
Belangrijk in de opmaak van een pagina met frames is dat er geen <body> - </body> tags zijn, maar <frameset> - </frameset> tags.

In de <frameset>-tag geeft u aan hoe u de indeling wilt maken; wilt u rijen dan gebruikt u row, wilt u kolommen dan gebruikt u cols. U geeft ook aan hoe groot de rij / kolom moet zijn in pixels.
U ziet dat ik begonnen ben met mijn web-site in te delen in twee rijen waarbij de eerste rij 135 pixels hoog is en de tweede rij de rest van het scherm. Hiermee heb ik de indeling gemaakt naar kop en body.
Daarna heb vul ik de rijen met een nieuwe frameset; hiermee deel ik mijn site op in de 3 kolommen. De eerste en derde kolom zijn 200 pixels breed en de tweede kolom is de rest van het scherm.
Tot slot heb ik aangegeven waarmee de detailframes gevuld moeten worden en heb ik ervoor gezorgd dat er maar een scrollbalk op het scherm komt.
ALs u de coding van de beide HTML-pagina's goed bekijkt ziet u dat er maar twee verschillen zijn en dat is in de tweede en vierde <frame>-tag. Hierbij is de directory verschillend; index versus html. U ziet dat ik gebruik maak van verschillende directories en wel standaard voor de vaste onderdelen, index voor de hoofdpagina en html voor de HTML-cursus pagina.
Op deze manier is voor mij het onderhoud van de site heel eenvoudig. Iedere keer wanneer ik een nieuw onderdeel toevoeg doe ik het volgende:

  1. Ik maak een directory voor het onderwerp waarover het gaat en plaats hierin de HTML-pagina kop.html voor de omschrijving die ik wil gebruiken en de HTML-pagina body.html met de inhoud die ik wil laten zien
  2. Ik maak een HTML-pagina met de naam van de directory en plaats deze in de hoofddirectory van mijn site. Ik kopieer de index.html en pas dan alleen de tweede en vierde <frame>-tag aan.
  3. Tot slot pas ik body2.html in de standaard directory aan door een link toe te voegen aan mijn navigatie structuur. Hieronder staat een deel van deze pagina.
<a href="../index.html" target=_top>Home</a>
<a href="../html.html"  target=_top>Mini-cursus HTML</a>
U ziet dat ik de pagina aanroep met als target _top; hierdoor wordt de nieuwe pagina volledige over de oude gezet.

Top van deze pagina