banière
Accueil Le Club JUIN 2004 Filière Informatique Services Contact
LE DYNAMIC HTML

   Sommaire




   Introduction au DHTML

    Présentation du DHTML

Le DHTML (Dynamic HyperText Markup Language) n'est pas à proprement parler UN langage de balises pour Internet, il n'existe d'ailleurs aucune norme DHTML à part entière. En réalité, le DHTML est un ensemble de technologies Internet associées afin de fournir des pages HTML plus interactives, c'est-à-dire dont le contenu peut être modifié grâce à des événements (mouvements de la souris, survol d'un objet par le curseur, ...) après que la page en question ait été chargée.

Les technologies que le DHTML met en oeuvre sont:

  • Le HTML, nécessaire pour présenter le document
  • Les feuilles de style (CSS), permettant de définir un style pour plusieurs objets et le positionnement de ceux-ci sur la page
  • Le modèle objet de document (DOM), proposant une hiérarchie d'objets, afin de faciliter leur manipulation
  • Le Javascript, un petit langage de script essentiel pour définir des événements utiliisateur
  • (éventuellement le VBScript)



Le problème de la compatibilité

Le DHTML est certes très amusant et permet de faire des documents HTML originaux, toutefois l'utilisation de pages HTML "dynamiques" n'est possible que sur les navigateurs Microsoft Internet Explorer et Netscape Navigator versions 4 ou supérieures.

D'autre part, l'interprétation du code HTML est différente entre les deux navigateurs concurents, c'est-à-dire que pour rendre possible la navigation dans des pages web interactives sur les deux navigateurs, un gros morceau du travail consistera à faire en sorte que l'effet soit visible sur les deux types de navigateur:

  • en écrivant un script pour chaque navigateur
  • en créant (si possible) un script fonctionnant sur les deux browsers



   La notion de couches

    D�finition

Le DHTML est basé sur une fonctionnalité provenant de la norme 4.0 du HTML: les feuilles de style en cascade de positionnement, aussi appelée CSS-P (Cascading Style Sheets Positionning). Celles-ci permettent de définir des "couches" contenant des éléments et pouvant être positionnées sur l'écran. Il s'agit en réalité de balises HTML spéciales pouvant contenir elles-mêmes d'autres balises HTML, et dont les attributs sont entre-autres:

  • La position par rapport au haut du navigateur
  • La position par rapport à la bordure gauche du navigateur
  • La largeur
  • La hauteur
  • Le Z-Index, c'est-à-dire le niveau de superposition de la balise
En effet, on appelle ces conteneurs HTML "couches" car il s'agit d'éléments HTML pouvant être superposés à l'écran comme des carrés de papier calque et pouvant être déplacés séparément (chaque calque est repéré par un identifiant unique que l'on définit comme attribut) dans la fenêtre du navigateur grâce à du Javascript. De plus, le z-index définit l'ordre de superposition des calques, c'est-à-dire quel calque se trouve au-dessus des autres...


    Les balises DIV, SPAN et LAYER

Les balises permettant de constituer des couches sont les balises LAYER, SPAN et DIV.

La première (LAYER) est une balise spécifique à Netscape Navigator, et dont le fonctionnement est très proche de celle énoncée ci-dessus, c'est-à-dire la superposition de transparents (layer signifie justement couche). Les balises DIV et SPAN sont plus génériques mais sont toutefois mieux supportées par Internet Explorer que Netscape Navigator

La balise LAYER

La syntaxe de la balise LAYER est la suivante:

<LAYER NAME="Nom de la couche" LEFT="Distance au bord gauche" TOP="Distance au haut">
éléments HTML
</LAYER>
Ainsi, le positionnement de deux images superposées sous Netscape Navigator (version 4 ou supérieure) peut se faire de la manière suivante:

<LAYER NAME="IMG1" LEFT="20" TOP="30">
<IMG SRC="image.gif">
</LAYER>

<LAYER NAME="IMG2" LEFT="25" TOP="35">
<IMG SRC="image2.gif">
</LAYER>

Les balises DIV et SPAN

Avec Internet Explorer (versions 4 et supérieures), le positionnement des éléments se fait selon le concept des CSS-P, au moyen des balises DIV et SPAN. Etant donné que le navigateur Internet Explorer 4 est apparu après Netscape Navigator 4, les possibilités "dynamiques" qu'il offre sont plus vaste que celles de Netscape, c'est-à-dire qu'il offre plus d'attributs au niveau de ses balises, pouvant être modifiées par l'intermédiaire d'un code écrit en Javascript après chargement de la page (d'où la notion de HTML dynamique).
Le positionnement grâce aux balises DIV et SPAN est expliqué en détails dans la section HTML 4.0

Avec les balises DIV et SPAN, le positionnement peut se faire de deux façons:

  • Le positionnement absolu se détermine par rapport au coin supérieur gauche de la fenêtre du navigateur. Les coordonnées d'un point s'expriment alors de haut en bas (top) et de gauche � droite (left).
  • Le positionnement relatif se fait par rapport à d'autres �l�ments, comme une image, c'est-�-dire que les �l�ments contenus dans la balises DIV ou SPAN seront positionn�s � la suite des �l�ments HTML apr�s lesquels ils se trouvent.
La syntaxe des balises DIV/SPAN est la suivante:

<DIV style="position: absolute; top: 99 px; 
left: 99 px; visibility : visible;z-index : 2;">
éléments HTML
</DIV>



    Récapitulatif des attributs des balises

Balise Propriété Valeur Description
LAYER name Chaine de caractère Définit un identifiant unique pour la couche
left valeur numérique entière distance en pixel à la bordure gauche
top valeur numérique entière distance en pixel au haut de la page
DIV et SPAN position static
absolute
relative
  • Aucun mouvement par rapport au document
  • positionnement par rapport au document
  • par rapport à l'élément précédent
left auto
valeur numérique entière
valeur en pourcentage (%)
  • distance à la bordure gauche automatique
  • distance à la bordure gauche en pixels
  • distance à la bordure gauche en pourcentage
top auto
valeur numérique entière
valeur en pourcentage (%)
  • distance au sommet automatique
  • distance au sommet en pixels
  • distance au sommet en pourcentage
width auto
valeur numérique entière
valeur en pourcentage (%)
  • largeur automatique
  • largeur de l'élément en pixels
  • largeur de l'élément en pourcentage
height auto
valeur numérique entière
valeur en pourcentage (%)
  • hauteur automatique
  • hauteur de l'élément en pixels
  • hauteur de l'élément en pourcentage
overflow visible
hidden
auto
scroll
  • affiche le contenu même s'il est trop grand
  • cache le contenu superflu
  • automatique
  • affiche des barres de défilement
clip auto
bottom
left
right
top
  • découpage automatique
  • découpage en bas
  • découpage à gauche
  • découpage à droite
  • découpage en haut
visibility inherit
hidden
visible
  • visibilité par défaut
  • caché
  • visible
z-index auto
valeur numérique entière
  • superposition automatique
  • valeur indiquant la profondeur



   La notion de couches

    Le Principe

L'animation des éléments présents sur une page Web se fait en modifiant leur propriété (position, hauteur, largeur, visibilité, z-index, ...) ou en utilisant leur méthodes (fonctions associées à un élément). Cela ne peut se faire qu'à l'aide d'un code Javascript, permettant de modifier les propriétés des éléments suite à des événements utilisateurs (clic sur la souris, déplacement de la souris, ...), et cela grâce à une structuration des éléments dans la page définie par le DOM (Document Object Model).


    Le Document Object Model (DOM)

Le Document Object Model est un principe consistant à représenter le navigateur et le document qui y est affiché comme une hiérarchie d'objets (voir éventuellement la section programmation orientée objet pour comprendre le concept objet), possèdant des propriétés intrinsèques et auxquels ont peut accéder en décrivant la hiérarchie qui mène à chaque objet.

Toutefois, le Document Object Model ayant été implémenté de manière "sauvage" dans les deux navigateurs concurrents (ie Netscape et Internet Explorer), la hiérarchie et les propriété diffère quelque peu entre les deux browsers.


    Les propriétés modifiables

Selon que l'on utilise Internet Explorer ou Netscape, la façon d'accèder aux propriétés des éléments est différente, ainsi que les propriétés elles-mêmes (il s'agira donc dans un premier temps de déterminer par l'intermédiaire du script le type de navigateur utilisé, puis adapter la notation en fonction...).

  • Netscape permet d'accéder aux différents layers en utilisant la syntaxe suivante:
    document.layers['nom'].document.layers['nom2'].attribut
    ou
    document.layers.nom.document.layers.nom2.attribut
    
  • Internet Explorer définit un objet appelé "all" contenant tous les éléments DIV. Ainsi, l'accès aux éléments se fait par la syntaxe suivante:
    document.all.nom.attribut
    

Voici un petit aperçu des actions réalisables en DHTML et la façon de les effectuer sur les deux navigateurs:

Action Netscape Navigator Internet Explorer
Modifier l'image de fond document.layers.nom.background document.all.nom.style.backgroundImage
Modifier la couleur du fond document.layers.nom.bgColor document.all.nom.style.backgroundColor
Modifier le clipping document.layers.nom.clip document.all.nom.style.clip
Modifier le contenu document.layers.nom.open();
document.layers.nom.writeln();
document.all.nom.innerHTML
Modifier la distance à gauche document.layers.nom.left document.all.nom.style.left
Accéder au nom objet.name objet.id
objet.name
Modifier la visibilité document.layers.nom.visibility document.all.nom.style.visibility
Modifier la distance au haut document.layers.nom.top document.all.nom.style.top
Modifier le z-index document.layers.nom.zIndex document.all.nom.style.zIndex




Retour au sommaire



Source : www.commentcamarche.net

© Copyright 2003 Computer Science Association
ce site est un produit des étudiants en Informatique de l'université de Yaoundé I, et � pour but de permettre au COMSAS d'accomplir sa t�che qui n'est autre que la vulgarisation de l'informatique et l'instauration d'un esprit de partage et de solidarité entre les �tudiants.
1
Hosted by www.Geocities.ws