Programmation DHTML

Positionnement des éléments dans une page web

      Dans votre code HTML, si vous ne précisez pas exactement la position d'une image, d'un lien ou de tout autre élément d'interface, c'est simplement le flot de code HTML qui la détermine, l'ordre dans lequel les éléments sont créés dans le fichier de code HTML. Les versions 4 et suivantes de IE vous permettent de positionner les éléments avec précision dans la page web.

      Il est possible de contrôler avec précision la position de tout les éléments d'interface à l'aide des feuilles de style en cascade et des propriétés de positionnement. Le code VBScript et JavaScript font appel à ces propriétés. Le positionnement des éléments à l'aide de la feuille de style en cascade offre la meuilleure garantie que les deux principaux navigateurs puissent aficher correctement le contenu de la page Web.


Propriétés de positionnement

      La norme CSS1 et la famille de navigateurs Internet Explorer version 4 et suivantes, établissent un certain nombre de propriétés permettant de positionner un élément n'importe où dans la page web. Vous n'avez qu'à fournir les coordonnées x et y du coin supérieur gauche de l'élément. De plus, vous pouvez rendre un élément visible ou invisible et même faire basculer l'état de visibilité de l'élément en fonction des actions de l'utilisateur ( voir balise DIV et SPAN ). Pour ce faire vous devez faire appel à quelques propriétés conçues de manière à contrôler avec précision la position de l'élément affiché.


Propriétés de positionnement prises en charge par IE version 4 et suivant :

PropriétéDescription
HeightDéfinit la hauteur d'un élément
WidthDétermine la largeur d'un élément
TopDéfinit la coordonnées y du coin supérieur gauche
LeftDéfinit la coordonnée x du coin supérieur gauche
VisibilityRend un élément visible ou invisible
DisplayRend un élément visible ou invisible
OverflowDétermine l'opération à exécuter en cas de débordement d'un élément
ClipDétermine la portion déroutée des éléments surdimensionnés
Z-axis ou Z-Index Définit automatiquement la numérotation des élément de l'axe des z ou affecte une valeur entière à chacun


Les propriétés TOP, Left, Width, Height

      Ces quatre propriétés contrôlent la position de l'élément en précisant les coordonnées de son coin supérieur gauche ainsi que de sa hauteur.

Les propriétés Visibility et Display

      La propriété Visibility permet de rendre un élément visible ou invisible. Elle accept les valeurs suivantes :
  1. visible
  2. hidden
  3. inherit

       La valeur utilisé par défaut est inherit par laquelle l'élément hérite de la propriété Visibility du document parent. Il est parfois nécessaire de masquer un élément jusqu'à l'exécution d'une action précise.

Différence :

       Les propriétés Visibility et Display diffèrent sur un point. Bien que l'élément ait été rendu invisible par la propriété Visibility, l'espace qu'il doit occuper apparaît vide à l'écran. . Si la valeur 'none' est affecté à la propriété Display, cette espace est toujours réservé à l'élément, mais est occupé par le reste du contenu de la page jusqu'à ce que l'élément masqué le récupère. Cliquez ici pour voir un exemple de la propriété Display

L'AXE Z et Z-index

      Z-index permets au développeur de dire dans quel ordre le flow de code sera exécuté pour permettre la superposition des objets.

      Il est maintenant possible d'afficher les éléments d'une page Web autrement que sur un seul plan. Les version 4 et suivantes d'Internet Explorer autorise la superposition des éléments selon l'AXE Z pour créer un effet d'empilage artificiel. Une telle superposition à deux effets sur la visibilité. D'une part, si l'arrière-plan d'un élément est uniforme et tranparent, les éléments qui se trouvent derrière ne sont pas visibles tant que l'élément du dessus n'est pas supprimé ou masqué. Si l'élément en avant plan est une image dont l'arrière-plan est transparent, l'utilisateur risque voir ce qui ce trouve derrière.

      Le positionnement des éléments sur l'AXE Z se contrôle mieux avec les propriétés Position (valeur absolue) et Visibility. Si vous placez un nombre quelconque d'images dans une page et donnez à chacune des coordonnées Absolues identiques, vous pouvez les rendre visibles par l'intermédiaire d'un action de l'utilisateur. Il vous suffit de définir la propriété Visibility de chaque image en conséquence. Vous pouvez aussi faire une superposition de texte sur une image. C'est l'attribut Z-INDEX qui établit l'ordre de superposition des différents élément.

      De nombreuse pages Web font appel à de petites images pour créer un menu. Une ligne de texte est affichée sur chaque image pour en identifier le contenu. Il est très dificile de positionner du texte sur une image sans utiliser l'AXE Z. Il est par contre très facile de positionner le texte et les images à l'aide de leurs coordonnées absolues.

Voici une petit exemple dans la section Style:

#texte1{color:white; font-size:20; position:absolute; left:15;top:50} #texte1{color:white; font-size:20; position:absolute; left:15;top:50; z-index=2}
Voici un Exemple de positionnement relatif d'éléments sur l'AXE Z

[ TOP ]






Positionnement d'un objet dans un document

       La propriété de Position permet de préciser le type de position utilisé. Elle accepte les valeurs absolute ou relative. Dans le premier cas, les propriétés Left et TOP reçoivent chacune une valeur entière. Ces deux valeurs correspondent aux coordonnées du coin supérieur gauche de l'élément positionné. Dans le second cas, la position de l'élément est fonction des propriété de positionnement de son élément parent. Un tel élément peut donc chevaucher un autre élément positionné de manière absolue. Le positionnement relatif tien également compte du flot normal de code HTML ( l'ordre dans lequel il est écris ) Cela signifie donc que la position relative d'un élément est toujours fonction de celle de l'élément ajouté avant lui dans le code HTML.

      L'exemple ci-dessous contient les instruction permettant de positionner précisément un bloc de texte aux aux coordonnées 50 px et 150 px. Ce code insère également une image à 15 pixels à droite de la position du bloc de texte. <DIV Style="position : absolute; left : 50px top: 150px"> Gros bloc de texte autre texte <img src="NomImage" style="position: relative; left:15px"> </DIV>       Le positionnement relatif d'un élément utilise parfois des valeur négatives. Prenons le cas d'une image de 100px de hauteur sur 200pixels dont la position absolue est définie par immédiatement à droite de l'image et faire en sorte qu'il s'aligne sur le haut de l'image (en utilisant le positionnement relatif), vous devez affecter la valeur -100 à la propriété top, puisque la position verticale relative du texte est calculée en fonction de l'Espace occupé par l'élément précédent, c'est-à-dire l'image.

      Les propriétés et les valeurs de positionnement peuvent être définies ailleurs que dans chaque balise <DIV> ou élément HTML individuel. Vous pouvez en effet les inclure dans la feuille de style. Pour ce faire, vous devez donner à l'élément un group d'élément une valeur ID qui sert à identifier dan sla feuille de style. Le segment de code précédent peut alors être réécrit comme suit:
<DIV ID="groupe1"> Gros bloc de texte Autre texte <IMG src="NomImage" ID="image1"> </DIV> Et par la suite il vous reste à créer une règle de style permettant de positionner chaque élément : <head> <style type="text/css"> #Groupe1{ position:absolute; left:50px ; top: 150px} #image1 { position:relative; left :15px} </style> </head>       Remarquer la différence de la syntaxe des propriétés de l'objet Style de chaque balise et de celles qui apparaissent dans la feuille de style. La Feuille de Style ne comporte pas de guillemets pour marquer les valeurs, alors que les propriétés de l'objet de Style doivent être définies sous forme de chaîne à l'intérieur de la balise. Le choix de la méthode, soit l'objet Style ou la Feuille de Style, est une affaire de goût. Cependant, la méthode faisant appel à la Feuille de Style est la plus conseillée, il est plus probable qu'elle soit prise en charge par les deux type de navigateurs.

      Le symbole dièse ( # ) identifie un élément référencé par sa valeur ID et non une balise. Cette forme de syntaxe s'avère particulièrement utile pour appliquer une mise en forme distincte à certains éléments d'une même classe ou blocs de texte d'une seul balise <DIV>

[ TOP ]





Copyright © 2003-2008 Dave J.