TechWeb
Accueil Codage HTML CSS DESIGN XML LaboCSS

La propriété position

La propriété position peut prendre trois valeurs :

position:static

C'est la position par défaut d'un élément. Il s'affiche dans le flux : les éléments s'affiche dans leur ordre d'apparition dans le code selon la règle d'affichage des éléments incorporés et des éléments de bloc.

position:relative

Un élément en position relative, reste dans le flux, à la différence qu'il peut être décalé de sa position par défaut grace aux propriétés top ou bottom et  left ou right.

Pour un élément incorporé

un élément de bloc contenant un élément incorporé en position relative - top:0px; left:0px; qui sont les valeurs par défaut
un élément de bloc contenant un élément incorporé en position relative - top:-20px; left:20px;
un élément de bloc contenant un élément incorporé en position relative - top:20px; left:-20px;
un élément de bloc contenant un élément incorporé en position relative - bottom:-20px; right:20px;
un élément de bloc contenant un élément incorporé en position relative - bottom:20px; right:20px;

Pour un élément de bloc

élément de bloc parent
premier bloc enfant en position "static"
second élément de bloc enfant en position relative - top:0px; left:0px; (valeurs par défaut)
bloc suivant en position "static"
élément de bloc parent
premier bloc enfant en position "static"
second élément de bloc enfant en position relative - top:5px; left:30px;
bloc suivant en position "static"
élément de bloc parent
premier bloc enfant en position "static"
second élément de bloc enfant en position relative - bottom:-5px; right:20px;
bloc suivant en position "static"

position:absolute

Un élément en position absolue est extrait du flux. En conséquence les autres éléments dans le flux se positionnent comme si l'élément absolu n'existait pas.

L'élément en position absolue est positionné selon les règles suivantes :

La propriété position n'est pas héritée

La propriété z-index

La propriété z-index ne s'applique qu'aux éléments en position absolue. 

La propriété z-index détermine l'ordre de supperposition des éléments en position absolue qui se chevauchent.

La valeur de la propriété z-index est en entier positif.

La propriété z-index n'est pas héritée

Les propriétés top, right bottom et left

Elle ne jouent un rôle que pour les éléments en postion relative ou absolue (voir ci-dessus)

Elles peuvent prendre une valeur :

position:fixed

Un élément en position fixed est extrait du flux. En conséquence les autres éléments dans le flux se positionnent comme si l'élément absolu n'existait pas.

les éléments en position fixed se positionnent selon des règles semblables ˆ celles utilisées pour éléments en position absolue :

Les éléments flottants

la propriété float

La propriété float peut prendre 3 valeurs :

Un élément en position flottante (float:left ou float:right) est extrait du flux.

float pour les éléments incorporés

un élément de bloc parent d'un premier élément incorporé - float : none  puis d'un  second élément incorporé - float : none dilué dans du texte ...... ..... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
élément de bloc suivant
un élément de bloc parent d'un premier élément incorporé - float : left  puis d'un second élément incorporé - float : none dilué dans du texte ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
 élément de bloc suivant
un élément de bloc parent d'un premier élément incorporé - float : left  puis d'un second élément incorporé - float : left dilué dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : right  puis d'un  second élément incorporé - float : none dilué dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : right  puis d'un second élément incorporé - float : right dilué dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : left  puis d'un second élément incorporé - float : right dilué dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : right  puis d'un second élément incorporé - float : left dilué dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : none contenant lui-même un second élément incorporé - float : none ........ ............ ........... ......... ................... ................ .............. .............. ...............   ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : left; width:400px; contenant lui-même un second élément incorporé - float : left ........ ............ ........... ......... ................... ................ .............. .............. ...............  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........
un élément de bloc parent d'un premier élément incorporé - float : left;width:400px; contenant lui-même un second élément incorporé - float : right ........ ............ ........... ......... ................... ................ .............. .............. ............... dans du texte  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... ..........

float pour les éléments éléments de bloc

 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:none
bloc2 - float:none;
bloc3 - float:none;
 bloc4 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:right
bloc2 - float:left;
bloc3 - float:right;
 bloc4 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:right
bloc2 - float:none;
bloc3 - float:right;
 bloc4 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
La propriété float n'est pas héritée

voir également marges des éléments flottants

la propriété clear

 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:right
bloc2 - float:left;
bloc3 - float:right;
 bloc4 : clear:left; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:right
bloc2 - clear:left;
bloc3 - float:right;
 bloc4 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
 bloc0 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 
bloc1 - float:right
bloc2 - clear:right;
bloc3 - float:right;
 bloc4 : float:none; ......  ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... ........... ........ ..... ........... ............ .......  ....... ........... .......... ..... ...... 

La propriété clear n'est pas héritée

La propriété visibility

La propriété visibility permet de rendre un élément invisible. Elle peut prendre les valeur :

La propriété visibility n'est pas héritée

La propriété display

La propriété display n'est que partiellement implémentée par les navigateurs.

Les valeurs de la propriété display

display:none

L'élément est extrait du flux et n'est plus visible. Yout se passe comme si l'élément n'existait pas

inline

Confère à un élément les caractéristiques d'un élément incorporé

block

Confère à un élément les caractéristiques d'un élémentde bloc

inline-bloc 

Confère à un élément la caractérsitique d'un élément-incorporé (pas dans saut de ligne) mais doté des propriétés d'un bloc (dimensions, marges) 

inline-bloc bien que pouvant s'avérer fort utile, n'est pas largement implémenté (Safari 2+, Opra 9+, Konqueror 3.5+).  Lire l'article : http://covertprestige.info/test/40-display-inline-block.html

list-item

Confère à un élément les caractéristiques d'un élément de liste auquel on pourra appliquer les propriétés de listes (list-style-type, list-style-position, list-style-imge) :

run-in (sur Opera)

Le rendu d'un élément run-in dépend de la nature "incorporée" ou "bloc" de son successeur.

compact

La valeur compact joue un rôle similire à run-in

marker

Cette valeur ne s'applique qu'aux pseudo-éléments :before et :after. Interprété comme la valeur inline selon les navigateurs.

inline-block ( Safari, Opéra, Firefox 3)

Confère à l'élément les caractéristiques :

valeur de tableau (non implémentées dans IE)

Confère à  l'élément les caractéristiques de l'élément de tableau correspondant. 

http://www.alsacreations.com/tuto/lire/610-Mise-en-page-CSS-avancee-grace-a-la-propriete-display.html#utilisation

http://www.yoyodesign.org/doc/w3c/css2/visuren.html#display-prop

La propriété display est héritée

Overflow

La proprété overflow permet de gérer le comportement d'un élément lorsque ses dimensions ne permettent pas l'affichage de l'intégralité de son contenu. Ce peut être le cas lorque les dimensions de l'élement sont contraintes par des propriétés CSS. La capacité d'un conteneur peut également varier en fonction des dimensions de la fenêtre.

overflow:visible

élément de bloc avec les propriétés width:100px; height:100px; overflow:visible dont le contenu dépasse la capacité
élément suivant

hidden

élément de bloc avec les propriétés width:100px; height:100px; overflow:hidden dont le contenu dépasse sa capacité
élément suivant

scroll

élément de bloc avec les propriétés width:100px; height:100px; overflow:scroll dont le contenu dépasse la capacité
élément suivant

auto

élément de bloc avec les propriétés width:100px;height:100px; overflow:auto
élément suivant
élément de bloc avec les propriétés width:120px; height:80px; overflow:auto dont le contenu dépasse la capacité
élément suivant

Lla propriété overflow n'est pas héritée

La propriété clip

Cette propriété ne concerne que les éléments en position absolue. Elle permet de n'afficher qu'une partie du contenu.

La propriété clip prend une valeur de la forme : rect(top, right, bootom, left) avec top, right, bottom et left qui sont des valeurs numériques positives exprimées en px, em ou %

La propriété clip n'est pas héritée

Conteneur en position absolue sans clip

image modele

1

Conteneur en position absolue avec clip:rectrect(10px, 550px, 500px, 10px);

image modele

2

image modele

Conteneur en position absolue avec

clip:rect(200px, 800px, 900px, 100px);

Valid XHTML 1.0 Strict Valid CSS!

Copyright Gabriel Braun 2007