Vsebino spletne strani opišemo z elementom html. To je osnovni oz. korenski element, ki vsebuje vse ostalo. Njegova vsebina je sestavljena iz glave (head) in telesa (body).
V glavi opišemo dokument. Z elementom title moramo določiti naslov, ki se prikaže v naslovni vrstici brskalnika in na zavihku (če brskalnik uporablja zavihke). Drugi elementi, ki jih tudi lahko uporabimo v glavi, so base, meta, link, style in script, a več o njigovi vlogi kasneje. Kar napišemo v glavi, v oknu brskalnika ni vidno. Do teh podatkov pridemo, če to posebej zahtevamo (na primer z ukazom Tools, Page Info v brskalniku Mozilla Firefox).
V telesu napišemo vse, kar želimo, da brskalnik prikaže v svojem oknu. Običajno tu opišemo besedilo, slike, tabele, sezname in druge elemente, ki sestavljajo spletno stran. Ti elementi so podrobneje opisani v naslednjih poglavjih.
<html> <head> <title>Ogrodje</title> </head> <body> ... </body> </html>
Če želimo pisati v eni od standardnih različic jezika HTML, moramo to posebej določiti. Uporabljeno različico jezika HTML napovemo s posebno značko na začetku datoteke (pred elementom html). Na primeru je prikazano, kako napovemo različico XHTML 1.1. Tako bo vsak brskalnik točno vedel, kako mora obravnavati opis spletne strani. Če različice jezika ne predpišemo, bo brskalnik spletno stran še vedno poskusil prikazati, a s tem tvegamo, da bo kakšen element obravnaval drugače, kot smo pričakovali.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN">
Običajno je najbolje izbrati zadnjo različico, za katero so objavljena priporočila organizacije W3C in je s strani brskalnikov solidno podprta. Trenutno je to XHTML 1.1. Brskalniki sicer še ne podpirajo vseh možnosti te različice, a je podpora dovolj dobra, da ne bomo imeli večjih težav. Če vseeno naletimo na težave, lahko izberemo tudi katero od starejših različic, npr. XHTML 1.0 Strict ali v skrajnem primeru HTML 4.01 Strict.
Če na spletni strani uporabljamo šumnike ali druge posebne znake, moramo brskalniku sporočiti, kako so ti znaki zapisani na datoteki. Vsak znak je na datoteki predstavljen s svojo kodo (ki je običajno ne vidimo), kakšna je ta koda, pa je odvisno od vrste uporabljenega kodiranja. Programi pod operacijskim sistemom Windows s slovenskimi nastavitvami največkrat uporabljajo kodiranje windows-1250, pod operacijskim sistemom Linux s slovenskimi nastavitvami pa kodiranje iso-8859-2 (uradno ime za Latin2). Vedno bolj priljubljeno je tudi kodiranje utf-8, ki podpira vse znake iz tabele Unicode. Poznata ga oba sistema, seveda pa moramo imeti ustrezen urejevalnik datotek, ki takšno kodiranje podpira. To delno omogoča TextPad (pri shranjevanju datoteke je treba izbrati kodiranje UTF-8).
V datoteki HTML uporabljeno kodiranje določimo v glavi z uporabo elementa meta. To je element s prazno vsebino, zato v klasičnem HTML ne pišemo zaključne značke, če pa pišemo v eni od različic XHTML, moramo element primerno zaključiti.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Vsi primeri v tem priročniku, pa tudi sam priročnik, so napisani v jeziku XHTML 1.1 s kodiranjem utf-8. Zato povzemimo, kaj vse je potrebno napisati, da dobimo prazno spletno stran. Pripravljeno ogrodje vsebuje napako, saj telo dokumenta ne sme biti prazno, a pri izdelavi prave spletne strani bomo to hitro odpravili.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"> <html> <head> <title>Ogrodje</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> </body> </html>
Če pišemo v jeziku XHTML, moramo upoštevati vsa pravila jezika XML. Lepo bi bilo, če bi brskalnik pri prikazu vsebine opazil, če smo kakšno pravilo prekršili, in nas na to opozoril. Da bi to dosegli, pa moramo prejšnje ogrodje dopolniti.
Čisto na začetek datoteke HTML moramo dodati posebno značko, ki napove, da je preostanek datoteke napisan v skladu s pravili jezika XML. Za vrednost lastnosti encoding vpišemo ime uporabljenega kodiranja. Element meta, ki smo ga prej imeli v glavi dokumenta in je napovedoval, kakšno kodiranje smo uporabili, postane odveč, in ga lahko zbrišemo.
<?xml version="1.0" encoding="utf-8" ?>
Posebno značko za napoved različice uporabljenega jezika moramo dopolniti z naslovom datoteke DTD, ki določa definicijo izbrane različice jezika.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Elementu html moramo dodati lastnosti, ki določata, kakšno podzvrst jezika XML uporabljamo.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
Datoteki moramo dati podaljšek xhtml. Tako bo strežnik vedel, da je to datoteka tipa application/xhtml+xml. Običajne datoteke HTML so tipa text/html.
Dopolnje ogrodje zdaj izgleda takole:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Ogrodje</title> </head> <body> </body> </html>
Žal pa Internet Explorer še ne podpira tipa application/xhtml+xml. Tako je najbolje, da teh dopolnitev ogrodja še ne uporabljamo.