DHTML

  http://developer.netscape.com/docs/manuals/
DHTML signifie « HTML dynamique » :
- le contenu de la page peut être modifié de manière dynamique (le texte peut s'afficher au fur et à mesure, il peut se modifier selon ce que fait l'utilisateur, on peut réaliser des animations, etc.) ;
- la page n'est pas nécessairement décrite de manière linéaire : par exemple, s'il y a plusieurs paragraphes, ils n'apparaissent pas nécessairement dans l'ordre dans lequel ils seront affichés.
D'un point de vue plus concret, les différences entre HTML et DHTML sont :
- les feuilles de style (CSS1 et CSS2), qui permettent de modifier le rendu des balises classiques ;
- les calques (layers), qui, si j'ai bien compris, sont des morceaux de page (préformatés) que l'on peut afficher un peu où on veut ;
- Javascript.

DEFINITION D'UNE FEUILLE DE STYLE
  <STYLE TYPE="text/css">
  <!--
    P  {font-size: 18pt;}
    H1 {color: blue;}
   -->
  </STYLE>

  <STYLE TYPE="text/javascript">
    with(tags.P){
      color = "green";
    }
  </STYLE>
Dans <HEAD> :
  <LINK REL=STYLESHEET TYPE="text/css" HREF="1.css">
Dans <HEAD> :
  <LINK REL=STYLESHEET TYPE="text/javascript" HREF="1.js">

CLASSES
  all.foo {color: blue}
  H1.foo {color: blue}
  class.foo.all.color="blue";
  class.foo.H1.color="blue";
  <H1 CLASS="foo">...</H1>

ID
Comme les classes, sauf que ce n'est utilisé qu'une seule fois.
  #foo {color: blue;}
  ids.foo.color="blue";
  <H1 ID="bar">...</H1>

CONTEXTE
  H1 EM {color: green}
  contextual(tags.H1, tags.EM).color="green";
  <H1>...<EM>...</EM>...</H1>

LISTE DE TOUT CE QUE L'ON PEUT MODIFIER
La liste est longue, je ne la reproduis pas (peut-on la créer automatiquement en Javascript ???).
Mentionnons quand-même :
- les fontes, des décoration (soulignement, clignitement), la casse (tout en majuscules, juste les initiales des mots en majuscules) ;
- l'alignement du texte (aligné à gauche, à droite, centré, justifié) ;
- les couleurs, l'image de fond ;
- pour les choses qui rentrent dans un cadre, les marges de chaque côté, l'épaisseur et la couleur de la bordure, les marges internes ;
- l'identation (si on met une indentation négative, penser à augmenter la marge) ;
- le style des listes (tiret, disuqe, carré, étoile, etc.)
- l'endroit (gauche, droite) où il faut mettre certaines imagtes, certains tableaux (on peut d'ailleurs utiliser Javascript pour que le côté change à chaque fois) ;

SPAN ET DIV
SPAN : quelque chose dans un paragraphe (en TeX, on dirait « en mode horizontal »)
DIV : un bloc, plusieurs paragraphes (en TeX, on dirait « en mode vertical »)

POSITION
Position absolue :
  <LAYER TOP=10pt LEFT=5pt WIDTH=200> ... </LAYER>
  <DIV STYLE="position: absolute; top=20px; left=5px; width=200px;">...</DIV>
  #layer1 {position:absolute; top=20px; left=5px; width=200px; }
  <DIV ID="layer1">...</DIV>
Position relative :
  <ILAYER...>...</ILAYER>
On peut modifier l'attribut « visibility » (show/hide/inherit) d'un calque, par exemple selon la position de la souris (www.rikai.com) ou selon le contenu d'un formulaire (<SELECT onChange="...">...</SELECT>).
En javascript :
Tableau contenant les calques :
  document.layers
Longueur de ce tableau :
  document.layers.length
Premier élément de ce tableau :
  document.layers[0]
Si un calque s'appelle flowerLayer :
  document.flowerLayer
  document.layers["flowerLayer"]
Il y a quelques méthodes pour modifier les calques (je ne les mentionne pas).
Les calques peuvent être empilés les uns sur les autres (on peut spécifier et modifier l'ordre) et on ne voit que celui du dessus (plus les morceaux du dessous qui dépassent...)

DOWNLOADABLE FONTS
Je n'ai pas vraiment compris : on prend une fonte, on la mélange avec un URL ou un nom de site, on l'envoie sur Internet et elle ne peut être utilisée que sur les pages venant de ce site là ??? J'ai de gros doutes sur la fiabilité d'un tel système : on doit pouvoir récupérer les fontes pour les utiliser à n'importe quelles fins.

Vincent Zoonekynd
<zoonek@math.jussieu.fr>
latest modification on lun mai 7 13:05:59 CEST 2001