Positionner un bloc par rapport a son centre

Résolu/Fermé
vivabarcamax Messages postés 24 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 8 avril 2010 - 21 févr. 2010 à 01:11
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 2 mars 2010 à 17:34
Bonjour,
Est-ce qu'il est possible en xhtml et CSS de positionner un bloc par rapport à son centre ?
Je m'explique, j'aimerais que la position du bloc par rapport à un côté soit déterminée en fonction du centre du bloc et non pas du coin supérieur gauche.

Merci beaucoup
A voir également:

6 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
21 févr. 2010 à 03:01
Tu peux ruser pour parvenir a ce résultat.
Exemple:
Côté html:
<div id="bloc">
     <p>Essai</p>
</div>

Côté CSS:
div#bloc{
     width:900px;
     position:relative;
     left:50%;
     margin-left:-450px;
     }


Voici une solution pour centrer un bloc.
margin: 0px auto; n'est pas pris en compte par IE6. Il est donc possible avec ma méthode de centrer un bloc même avec IE6.
Tu peux te servir de cet exemple.
Autrement, il n'est pas possible de positionner un élément de la manière que tu le souhaiterai. Il faut ruser pour y parvenir.

0
vivabarcamax Messages postés 24 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 8 avril 2010
21 févr. 2010 à 16:36
Merci mais ce n'est pas vraiment cela que je veux faire. Je veux par exemple positionner un bloc à 20% du bord gauche et à 40% du bord supérieur.

Mais si je mets cela :

.explanations
{
position: absolute;
left: 20%;
top: 40%;
}


C'est le coin supérieur gauche qui est à 20% du bord gauche et à 40% du haut.

Or, je voudrais que le centre de ce bloc se trouve à 20% du bord gauche et à 40% du haut...

Existe-t-il une solution ?

Merci
0
vivabarcamax Messages postés 24 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 8 avril 2010
22 févr. 2010 à 23:45
Up !
0
vivabarcamax Messages postés 24 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 8 avril 2010
28 févr. 2010 à 23:51
up !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
1 mars 2010 à 02:08
Comme je l'ai fait dans mon précédent exemple, il faut compenser avec margin.

.explanations
     {
     position: absolute;
     left: 20%;
     margin-left:- # px;
     top: 40%;
     margin-top: - # px;
     }


# correspondra respectivement à la moitié de la largeur et la moitié de la hauteur du bloc que tu places. Je vois pas trop de manière de faire autrement.
0
vivabarcamax Messages postés 24 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 8 avril 2010
2 mars 2010 à 16:49
Un tout grand merci ! Ca fonctionne !
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
2 mars 2010 à 17:34
Comme je disais, il faut savoir ruser.
Un peu de réflexion et le tour est joué.
Mais bon... pas toujours évident.
Bonne continuation.
0