Un tag e' una stringa racchiusa tra parentesi angolari, ovvero < e >.
I tag solitamente vanno a coppie, d'inizio e di fine della formattazione. Se <xxx> e' il tag d'inizio, allora </xxx> e' il tag di fine della formattazione.
L'insieme dei tag ammissibili e' predefinito e consiste nella sintassi del linguaggio HTML. I tag non riconosciuti vengono ignorati.
Un tag puo' avere attributi. Alcuni attributi sono necessari altri possono essere opzionali. Gli attributi sono racchiusi anch'essi nelle parentesi angolari, vengono dopo il nome del tag e compaiono solo nel tag di apertura, non in quello di chiusura.
Un tag ha quindi il formato generico:
<nome-tag attributo1 attributo2=valore ... > ... </nome-tag>Un attributo puo' essere una singola parola predefinita (booleano), oppure un attributo a chiave, composto da nome dell'attributo (predefinito), il simbolo di uguale e il valore dell'attributo. Un attributo a chiave non deve contenere spazi.
I nomi dei tag o degli attributi possono essere scritti indifferentemente in maiuscole o minuscole.
Un tag puo' essere:
Quest'ultima classe di tag e' molto importante. Non e' possibile sapere a priori che tipo di browser sara' a rendere la pagina HTML, pertanto non e' possibile sapere quali font saranno supportati dal browser, la larghezza e lunghezza di pagina, le dimensioni dei font disponibili, ecc.
I tag sono quindi delle direttive di intenzione dello scrivente, e un browser rendera' un tag in un modo suo, a volte configurabile, ma quasi sicuramente diverso da un altro browser.
Per esempio il tag <cite> informa dell'inizio di una citazione, che deve essere espressa in modo diverso dal normale testo. Un browser puo' decidere di renderla col font Times Roman in corsivo a punto 10 e indentata di 5 caratteri; un altro di non indentarla, di adottare un punto carattere piu' grande riapetto al testo normale e di usare Helvetica.
Chi scrive non puo' influenzare le scelte del broser di resa delle direttive.
E' pero' vero che di recente sono nate tutte una serie di tag che costringono maggiormante la resa del browser. Inoltre la comparsa di Fogli di Stile (Cascading Style Sheets), nelle ultime versioni di HTML, permette allo scrivente di includere delle direttive di resa di ogni specifico tag.