# DHTML

L'HTML dinàmic o DHTML (de l'anglès Dynamic HTML) designa el conjunt de tècniques que permeten crear espais web interactius i animats utilitzant la combinació de llenguatge HTML estàtic, llenguatge interpretat per part del client (com el JavaScript), llenguatge de fulles d'estil en cascada (CSS) i del Document Object Model (DOM).
Una pàgina en HTML dinàmic és qualsevol pàgina web en la que els scripts en el lloc del client canvien l'HTML del document, després que aquest hagi estat carregat completament, la qual cosa afecta l'aparença i les funciones dels objectes de la pàgina. La característica dinàmica del DHTML, per tant, és la forma en què la pàgina interacciona amb l'usuari quan l'està observant, sent la mateixa pàgina per a tots els usuaris.
En contrast, el terme més general "pàgina web dinàmica" l'utilitzem per fer referència a alguna pàgina específica que és generada de manera diferent per a cada usuari, en cada recàrrega de la pàgina o per valors específics de variables d'entorn. Aquest terme no ha de ser confós amb el de DHTML. Aquestes pàgines dinàmiques són el resultat de l'execució d'un programa en algun tipus de llenguatge de programació en el servidor de la pàgina web (com per exemple ASP.NET, PHP o Perl), el qual genera la pàgina abans d'enviar-la al client, o bé de l'execució en la part client d'un codi que crea la pàgina completa abans que el programa client (usualment, un navegador) la visualitzi.
En una pàgina DHTML, una vegada aquesta ha estat carregada completament pel client, s'executa un codi (com per exemple en llenguatge JavaScript) que té efectes en els valors del llenguatge de definició de la presentació (per exemple CSS), aconseguint així una modificació en la informació presentada o en l'aspecte visual de la pàgina mentre l'usuari l'està mirant.
El DHTML permet als llenguatges de script canviar les variables del llenguatge de definició d'una pàgina web, que a la vegada afecta a l'aparença i funció d'un altre mode d'HTML contingut de la pàgina "estàtica", després que la pàgina s'hagi carregat completament i durant el procés de visualització. Així, la característica dinàmica d'DHTML és la forma en què funciona mentre que una pàgina es veu, no en la seva capacitat per generar una pàgina única amb cada càrrega de la pàgina.
En canvi, una pàgina web dinàmica és un concepte més ampli, que abraça qualsevol pàgina web generada de forma diferent per cada usuari, l'aparició de càrrega, o valors de les variables específiques. Això inclou pàgines creades per scripting pel canto del client, i les creades pel script per part del servidor (com PHP, Perl, JSP o ASP.NET) quan el servidor web genera contingut abans d'enviar-lo al client.

## Usos

Entre els usos més habituals del DHTML estan el fer menús desplegables, imatges que canvien en passar-hi el cursor per sobre, objectes en moviment, botons que permeten desplaçar el text que s'està mostrant, textos explicatius que apareixen en situar el cursor sobre certes paraules clau, cronòmetres, etc.
Un altre ús interessant d'aquesta tecnologia és la creació de jocs d'acció que utilitzen el navegador web per a funcionar, encara que tradicionalment aquest tipus de desenvolupaments han estat complicats a causa de les diferències en el llenguatge i les característiques suportades pels diferents navegadors existents. Recentment els navegadors més populars han començar a suportar estàndards comuns, com el DOM, la qual cosa ha facilitat molt la creació d'aquest tipus d'aplicacions.
El DHTML permet als autors agregar efectes a les seves pàgines difícils d'aconseguir. En poques paraules: el llenguatge de seqüències de comandos està canviant DOM i estil. Per exemple, el DHTML permet:
* Animació de text i imatges en el seu document, moure de forma independent cada element des de qualsevol punt de partida per a qualsevol punt final, després d'un trajecte predeterminat o un seleccionat per l'usuari.
* Integrar un ticker que actualitza automàticament el seu contingut amb les últimes notícies, cotitzacions de borsa, o altres dades.
* Utilitzar un formulari per captar l'entrada de l'usuari, i després processar, verificar i respondre a les dades sense haver d'enviar les dades al servidor.
* Incloure rollovers o menús desplegables.

## Curiositats

En DHTML, el tag <noscript> pot ser utilitzar per posar informació que es mostrarà quan el navegador no suporti el JavaScript o el tingui deshabilitat.

## Vegeu també

* Extensible Markup Language