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 en vertical un texte dans un div


Sujet :

Centrer un élément en CSS

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut centrer en vertical un texte dans un div
    Je cherche à centrer verticalement un texte pour l'utilisation dans un menu dont les titres doivent être sur un bloc image de dimensions fixes.
    Voici le code exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <style type="text/css">
    #titre-menu {
    		width: 100px;
    		height: 50px;
    		background-color: #09C;
    }
    h3 {
    	height: 50px;
    	vertical-align: middle;
    }
    </style>
     
    <body>
    <div id="titre-menu">
    <h3>titre menu 1</h3>
    </div>
    <div id="titre-menu">
    <h3>titre menu 2 sur 2 lignes</h3>
    </div>
    Le problème est d'arriver à aligner le texte du menu qu'il soit sur une ligne ou 2 lignes en fonction de la longueur du texte. La largeur doit être fixe.
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Tu peux consulter cette discussion récente qui évoque le sujet : http://www.developpez.net/forums/d10...verticalement/

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut centrer en vertical un texte dans un div
    Merci pour l'info.
    J'ai regardé la discussion mais elle n'apporte pas de solution au problème particulier que j'évoque.
    Les solutions proposées consistent à fixer le line-height à la hauteur du bloc.
    Cette solution convient parfaitement pour une ligne ou 2 lignes si on accepte le fait que la hauteur du bloc varie en fonction du nombre de lignes.
    Le problème que je pose concerne le centrage vertical de l'affichage d'un texte sur une ligne ou 2 lignes dans un bloc de hauteur fixe.
    Cdlt

  4. #4
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Ben si tu trouvais ta réponse dans cette discussion : il suffit de rajouter display:table-cell; à ton titre h3.

    Ce ne sera simplement pas compatible avec Internet Explorer 7 comme indiqué par Macmillenium.

    Sinon le code de Macmillenium fonctionne également dans ton cas. Dans son exemple la hauteur du bloc est bien fixe...

  5. #5
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par stecale Voir le message
    Le problème que je pose concerne le centrage vertical de l'affichage d'un texte sur une ligne ou 2 lignes dans un bloc de hauteur fixe.
    La solution se trouve quand même dans le lien donné par 12monkeys
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    	<style type="text/css">
            #titre-menu {
                            width: 100px;
                            height: 50px;
                            line-height:50px;
                            background-color: #09C;
            }
            h3 {
                    /*height: 50px;*/
                    margin:0; /* annuler les marges par défaut */
                    line-height:1.1; /* rétablir le line-height */
                    display:inline-block; /* attribuer au h3 un rendu inline-block */
                    vertical-align: middle /* aligner le h3 verticalement */
            }
            </style>
     
    	<!--[if lte IE 7]>
    		<style type="text/css" media="screen">
    			h3 { display:inline /* émuler inline-block sur IE7 et inférieur */  }
    		</style>
    	<![endif]-->	
     
    	<body>
    	<div id="titre-menu">
    	<h3>titre menu 1</h3>
    	</div>
    	<div id="titre-menu">
    	<h3>titre menu 2 sur 2 lignes</h3>
    	</div>

Discussions similaires

  1. [CSS 3] Centrage vertical de texte dans un div en position absolute
    Par sovitec dans le forum Mise en page CSS
    Réponses: 17
    Dernier message: 25/08/2011, 11h59
  2. [CSS] alignement vertical d'un texte dans un div
    Par alexfrere dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/07/2006, 18h07
  3. Centrer une image et un texte dans un div
    Par flexx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/01/2006, 20h11
  4. Changer le style d'un texte dans un div
    Par pekka77 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/11/2005, 21h42
  5. Introduire du text dans une div
    Par 10-nice dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2005, 11h50

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