U kent ongetwijfeld het probleem van onverenigbare bestandsformaten: tekstverwerker A weigert een bestand, afkomstig van concurrent B, te snappen. Als het goed is, zijn er wel wat import- en exportfilters ingebouwd, maar u zult altijd zien dat dèze combinatie niet werkt. Of niet helemaal, zodat dingen fors verminkt worden, waar we dan net te laat achter komen. En over de verschillen tussen Windows en Mac zullen we het maar helemaal niet hebben1.
HTML is een poging om een soort Esperanto te formuleren, die ertoe strekt dat een bestand op plaats A met systeem X gemaakt, op plaats B door systeem Y zonder problemen gelezen kan worden. Dit wordt bereikt door te werken met een "kaal" tekstbestand. Elke computer snapt ASCII: de lijst met "normale" tekens (letters en cijfers). Alleen: dat zou een erg saai verhaal worden. In dit stukje tekst treft u al verschillende lettertypen en lettergrootten aan, verschillende kleuren, en wat cursieve tekst. Dat soort dingen zijn toch wel wenselijk, om een tekst wat levendiger te maken (en om dingen te verduidelijken).
Wellicht hebt u ooit met WordPerfect 5.1 gewerkt. (Dan bent u waarschijnlijk al een dagje ouder.) Die kende een functie (F11), in de wandeling bekend als "onder water kijken". Als u een woord vet gemaakt had (stel, "dit is vet gemaakt"), zag dat er onder water zo uit: "dit is [VET]vet[vet] gemaakt". U had het machien dus opgedragen om de tekst tussen "[VET]" en "[vet]" aldus weer te geven, waarbij de ene instructie het begin, en de andere het einde van het betreffende gedeelte aangaf.
HTML werkt hetzelfde, alleen moet u die instructies expliciet opgeven. Zo'n instructie heet een "tag". Die term zult u vaker tegenkomen. Zo'n tag bestaat uit een instructie, voorafgegaan door een pijltje-naar-links en afgesloten door een pijltje-naar-rechts. (De kleiner-dan en groter-dan tekens uit de wiskunde.)
Een HTML-bestand bestaat uit niets anders dan tekst, doorspekt met tags. Die tags bepalen de manier waarop de tekst op het scherm van de browser (Internet Explorer, Netscape Navigator of welke browser de gebruiker ook maar prefereert) wordt weergegeven. Zonder tags zou die tekst domweg achter elkaar neergezet worden. Tags heben betrekking op zaken als:
Zo'n tag is dus een instructie aan de browser: "behandel datgene wat hierna volgt op die-en-die manier". Vaak bestaat een tag uit twee delen: een openingstag en een sluittag. Die laatste bevat dan een "/" (de streep-naar-rechts, alias "forward slash"). De instructie is dan op te vatten als "behandel de tussen deze twee tags liggende tekst op die-en-die manier".
In het bovenstaande voorbeeld met vette tekst zou de formulering dan worden dit is niet vet <B>dit is wel vet</B> en dit weer niet vet. En als ik dat zo doe in de code ziet het resultaat op het scherm er zo uit:
Dit is niet vet dit is wel vet en dit is weer niet vet
Mocht er iets niet goed overkomen (bijvoorbeeld: de browser kent die tag niet) dan zal de browser die tag gewoon "overslaan" en proberen van wat hij dan overhoudt chocola te maken. (Achtergrond van deze opmerking: niet alle tags zijn bij alle browsers bekend. Stel, u introduceert in uw enthousiasme de tag <PIET> met de bijbehorende sluittag </PIET>: daar heeft geen browser van gehoord, en het effect is dat er niets mee gedaan wordt.)
Nu we toch bezig zijn over dingen die browsers niet snappen, volledigheidshalve het volgende. Er is weliswaar een "massa" aan tags die elke browser kent, maar er is geen eenduidige en gezaghebbende lijst. Een browserfabrikant die iets leuks bedenkt, introduceert hem in zijn eigen browser, en wat conculega's doen moeten zij weten. (Voorbeeld: Microsoft's Internet Explorer kent een tag, <MARQUEE> .. </MARQUEE>, voor het maken van "lichtkranten". Leuk, mits met mate gebruikt, maar alleen een gebruiker die die browser heeft ziet iets.) Als u "exotica" op HTML-gebied wilt gebruiken, moet u zich dus afvragen of er geen problemen qua verschillende browsers ontstaan.
(Er is wel een organisatie geheten het World Wide Web Consortium (www.w3c.org) die enige orde in dit soort chaos tracht te scheppen, en daartoe specificaties vaststelt en zo, maar echt veel gezag hebben ze niet.)
Alvast nog even een technische term: bij een tag kan een "attribuut" horen: een specificatie van een "bijzonderheid" met betrekking tot die tag. U komt voorbeelden daarvan tegen bij bijvoorbeeld het hoofdstukje over lettertypen en lettergrootten.
Dat hangt er vanaf hoe veeleisend u bent. Aan de ene kant zult u met HTML nooit het niveau bereiken van complete DTP. Maar u kunt er zonder meer datgene mee doen wat een gemiddelde gebruiker van een normaal tekstverwerkingsprogramma vraagt. (Hoewel er hier en daar wat beperkingen zijn. Tabstops, toch geen echt exotische zaken, krijgt u in HTML alleen met een hoop gepruts voor elkaar. Aan twee kanten uitlijnen, bij Word een kwestie van één knop indrukken, kunt u vergeten, tenzij u CSS gebruikt -maar dan bent u al redelijk gevorderd.) Maar daar staat tegenover dat HTML ook nooit bedoeld is om een concurrent van Quark Xpress of zo te zijn. De meerwaarde zit hem natuurlijk allereerst in het feit dat uw werk door iedereen op het Net gelezen kan worden. U bent nog nooit eerder in staat geweest om zonder hulp van derden zo'n grote lezerskring te benaderen.
Bekijk het van de andere kant: hebt u ooit een papieren document gezien waarbij u van de ene plek naar de andere kon klikken? Waarin u zonder problemen, met twee of drie muisklikken, aan de andere kant van de wereld in iemand z'n kennis zat te graven? En, als u het niveau van de gevorderde auteur bereikt, kunt u zelfs uitklapmenu's aan uw pagina toevoegen. Dat heb ik een stuk papier nog nooit zien doen.
(Ik wil overigens best toegeven dat u met deze cursus geen websites leert maken die prijzen gaan winnen voor de mooiste grafische vormgeving. Het blijft allemaal tamelijk "basic". Maar daar staat tegenover dat ik wel denk dat u uw kennis "vanaf de grond opbouwt".)
In computerbladen komt u regelmatig betogen tegen als zou HTML achterhaald zijn. Niet flexibel, niet ingericht op het toegankelijk maken van grote hoeveelheden gegevens, dat soort klachten. Nee, dan XML, of PHP, of welk drieletterwoord dat artikel maar over gaat.
Het klopt dat HTML geen taal is voor het ontsluiten van databases of zo. Het is bedoeld als niet meer dan een taal om documenten op diverse systemen toegankelijk te maken, en naar elkaar te laten verwijzen. En er is wel zoveel HTML in omloop dat u niet bang hoeft te zijn dat de volgende versies van browsers er niet mee overweg kunnen. En HTML heeft het voordeel dat het (vind ik) helemaal niet moeilijk te leren is, en vrij snel resultaten oplevert. Voor huis-tuin-en-keukengebruik zal HTML, verwacht ik, nog jarenlang het meest geschikte instrument zijn.
(Daarmee is niet gezegd dat HTML alleen geschikt is voor kleinere sites. U kunt, gesteld dat u die inspanning zou willen leveren, een complete encyclopedie in elkaar schroeven. Kwestie van een lijst met trefwoorden in een linkerframe, en in het rechterframe komt dan het bijbehorende artikel. Mocht dit voor u op dit moment abacadabra zijn: als u dit cursusje tot en met de pagina over frames hebt doorgewerkt, zult u daar (hoop ik tenminste) anders over denken.)
U kunt nu verder naar Wat hebt u nodig?
1 Hou op schei uit... Het is zo erg dat een .txt-bestand, op een Mac gemaakt, hele andere codes voor diacriten (letters met leestekens) heeft dan Windows belieft te begrijpen. Mocht u met die situatie geconfronteerd worden, dan is het nuttig om het resultaat regel-voor-regel na te lopen.