IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Centrer verticalement en CSS (texte, image)


Sujet :

Centrer un élément en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Par défaut Centrer verticalement en CSS (texte, image)
    Bonjour,

    Après maintes recherches, je sèche sur un problème qui me paraît pourtant simple.

    Je souhaite centrer verticalement un texte et une image de la façon suivante (dans un div par exemple, mais peu importe le conteneur) : cf pièce jointe

    J'ai testé la méthode suivante qui consiste à mettre l'image et le texte dans le même conteneur (un div par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    .conteneur span {
    	display: inline-block;
    	vertical-align: middle;
    }
    .conteneur img {
    	display: inline-block;
    	vertical-align: middle;
    }
    Cette méthode fonctionne très bien. Mais dans mon cas j'ai besoin d'un sur l'image pour qu'elle s'affiche complètement à droite, et là ça ne marche plus. J'ai testé plein de possibilités (mettre 2 div, jouer sur la largeur, etc ...) mais je ne m'en sors pas.

    Si quelqu'un connaît une solution simple ^^
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de GihefBey
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 366
    Par défaut
    Bonjour,

    Les hauteurs ne semblant pas être définies, fais-ça dans un tableau.
    Avec 2 ou 3 cellules (gauche-milieu-droite).
    Le vertical-align y fonctionne et pas besoin de float.

    -

  3. #3
    Membre chevronné Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Par défaut
    Un tableau c'est ce que je veux éviter ... Surtout juste pour un mot et une image -_-

    La hauteur est fixée à 50 pixels sinon. Et la largeur est variable : le conteneur occupe l'espace disponible.

  4. #4
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Bonjour Poulpynette,
    le float:right fait passer la valeur du dsiplay à block de manière transparente, il est donc normal que ça ne fonctionne plus avec cette méthode.

    Tu as une autre méthode de centrage vertical connue (en supposant que ton image fasse 30px de haut):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .conteneur {position:relative; height:50px}
     
    .conteneur img { 
    position:absolute;
    height:30px;
    top:50%;
    right:0;
    margin-top: -15px
    }

  5. #5
    Membre chevronné Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Par défaut
    Merci pour cette solution déjà plus adaptée à mon problème

    J'ai simplement dû enlever le "top:50%" qui centrait mon image dans le navigateur et non dans le conteneur.
    Et connaissant la hauteur du conteneur et la hauteur de l'image, j'ai adapté le margin-top.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    .conteneur {position:relative; height:50px}
     
    .conteneur img { 
      position: absolute;
      height: 32px;
      right: 0;
      margin-top: 9px;
    }
    Je vais voir si je peux en faire autant pour le span.

  6. #6
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Citation Envoyé par Poulpynette Voir le message
    Je vais voir si je peux en faire autant pour le span.
    Hello,
    si la hauteur reste, pourquoi chercher une technique de centrage? Il te suffit d'un padding-top qui centre ton image non?
    En principe ça devrait se centrer avec le position:relative sur le conteneur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Centrer verticalement une image par rapport au texte
    Par Ravens dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 03/12/2008, 20h18
  2. Centrer verticalement un texte et une image
    Par solorac dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 16/07/2008, 16h16
  3. Réponses: 9
    Dernier message: 07/02/2007, 15h57
  4. [CSS] Centrer verticalement du texte
    Par taly dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/04/2006, 13h24
  5. centrer du texte + css + fond image
    Par greench dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 22/02/2006, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo