par
Cyrano » 01 avr. 2007, 12:56
Le terme de "calque" est un abus de langage en CSS, mais bon, peu importe.
Le problème est lié au positionnement. Un élément de bloc peut être positionné par rapport au premier élément parent qui sera lui-même positionné. Si aucun élément parent ne l'est, alors le positionnement de ton élément se fera par rapport à <body> et donc à ta fenêtre. TU dois donc mettre le bloc contenant ton image avec une position, par exemple, relative :
-1- le HTML :
Code : Tout sélectionner
<div id="mon_calque1">
<img src="image_xyz.jpg" id="mon_image_1" alt="" />
</div>
-2- le CSS :
Code : Tout sélectionner
/* Positionnement du contenant */
div#mon_calque {
position: relative;
top: 0;
left: 0;
width: 80%;
height: 200px;
}
/* Positionnement de l'image */
img#mon_image_1 {
width: 250px;
height: 120px;
position: absolute; /* l'image sera positionnée par rapport au bloc parent identifié "mon_calque" */
top: 10px;
left: 50%; /* On décale l'image à la moitié de la largeur du bloc parent */
margin-left: -125px; /* On ramène l'image vers la gauche de la moitié de sa propre largeur */
}
Ceci est un exemple, adapte selon tes besoins.
Attention cependant avec le positionnement en absolu : l'élément est alors sorti du flux normal et si tu ajoutais du texte dans le même bloc contenant, il se positionnerait comme si l'image n'existait pas, ça risque de donner lieu à des chevauchements indésirables.
Le terme de "calque" est un abus de langage en CSS, mais bon, peu importe.
Le problème est lié au positionnement. Un élément de bloc peut être positionné par rapport au premier élément parent qui sera lui-même positionné. Si aucun élément parent ne l'est, alors le positionnement de ton élément se fera par rapport à <body> et donc à ta fenêtre. TU dois donc mettre le bloc contenant ton image avec une position, par exemple, relative :
-1- le HTML :
[code]<div id="mon_calque1">
<img src="image_xyz.jpg" id="mon_image_1" alt="" />
</div>
[/code]
-2- le CSS :
[code]/* Positionnement du contenant */
div#mon_calque {
position: relative;
top: 0;
left: 0;
width: 80%;
height: 200px;
}
/* Positionnement de l'image */
img#mon_image_1 {
width: 250px;
height: 120px;
position: absolute; /* l'image sera positionnée par rapport au bloc parent identifié "mon_calque" */
top: 10px;
left: 50%; /* On décale l'image à la moitié de la largeur du bloc parent */
margin-left: -125px; /* On ramène l'image vers la gauche de la moitié de sa propre largeur */
}
[/code]
Ceci est un exemple, adapte selon tes besoins.
Attention cependant avec le positionnement en absolu : l'élément est alors sorti du flux normal et si tu ajoutais du texte dans le même bloc contenant, il se positionnerait comme si l'image n'existait pas, ça risque de donner lieu à des chevauchements indésirables.