De bouwstenen van een HTML pagina heten elementen. Voorbeelden van elementen zijn html, head, title, body. Elementen worden in kleine letters geschreven. Om aan te geven in een HTML tekst dat een element niet tot de inhoud behoord schrijven we dit tussen punthaken "<" en ">", bijvoorbeeld <html>. Dit wordt een tag genoemd.
<p>inhoud</p>
Vaak worden tags met elementen vergeleken, maar dit is dus fout. Een start - of eind tag is maar een onderdeel van een element.
Misschien heb je al opgemerkt dat elk element zich in een ander element bevindt. Bijvoorbeeld het element title bevindt zich in head, en head bevindt zich in html. Als je dit zou vergelijken met een doos klinkt het logisch. Een doos kun je opbergen in een andere doos en in de doos kunnen zich nog andere dozen bevinden. Dit wordt ook wel nesten genoemd.
<doos1> <doos2> <doos3></doos3> <doos4></doos4> </doos2> </doos1>
Let op: dit is maar een voorbeeld om aan te tonen hoe elementen kunnen genest worden. Dit is geen geldige HTML code omdat de elementen doos1, doos2, ... niet bestaan.
Volgende manier van nesten is verkeerd:
<doos1> <doos2> </doos1> </doos2>
Elementen kunnen bepaalde eigenschappen hebben die attributen worden genoemd. Deze attributen kunnen twee soorten waarden hebben, constante waarden en willekeurige waarden. Met constante waarden bedoelen we waarden die HTML herkent en die een bepaalde betekenis hebben, zoals kleuren.
Attributen worden geschreven door een bepaald gereserveerd woord dat HTML herkent gevolgd door een =-teken en de waarde van dit attribuut tussen enkele of dubbele aanhalingstekens.
<p id="cursushtml" align="right">...</p>
In bovenstaande voorbeeld is "cursushtml" een willekeurige waarde omdat HTML deze waarde niet herkent. De paragraaf krijgt als identificatie "cursushtml", maar kan evengoed willekeurige waarden bevatten. Het attribuut align heeft als waarde "right", dit is een constante waarde omdat HTML deze duidelijk herkent als rechts. We kunnen hier geen waarde geven als "blaat" of "test" omdat HTML deze niet herkent. Sommige attributen hebben dus maar een beperkte keuze van waarden.
in XHTML is het attribuut align niet meer toegelaten, dit wordt met behulp van een CSS stylesheet vervangen. Attributen die niet meer geldig zijn in XHTML kunnen met het attribuut style beschreven worden. Hieronder wordt de juiste manier gebruikt.
<p id="cursushtml" style="text-align: right">...</p>
In het attrbuut style zie je text-align, dit noemt met een eigenschap. De waarde van de eigenschap komt na een dubbelpunt. Er kunnen meerdere eigenschappen beschreven worden door de eigenschappen te scheiden met een puntkomma.
<p id="cursushtml" style="text-align: right; color: blue">...</p>
De cursus CSS legt meer in detail uit hoe CSS wordt gebruikt.