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 :

[CSS] Problème de centrage vertical


Sujet :

Centrer un élément en CSS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 9
    Points
    9
    Par défaut [CSS] Problème de centrage vertical
    Bonjour, je suis face à un problème un peu pénible. Je souhaite afficher un titre contenant un logo en fond (à gauche) et par dessus un texte centré horizontalement et verticalement. J'utilise alors un style CSS sur une balise h1. Pas de problème pour centrer le texte horizontalement, ni pour le logo. Par contre, le texte ne veut pas se centrer verticalement. Cependant, si j'utilise un h1 sans style CSS défini, alors le texte est bien centré verticalement ! Pourquoi ?
    "L'orgueil du savoir est pire que l'ignorance."
    [ Shafique Keshavjee ]
    Le roi, le sage et le bouffon

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Se centrer par rapport à quoi? Au logo? à la résolution de l'écran?

    Quel que soit ton problème, possible que tu doives ajuster avec une position absolue ou avec un tableau. En l'état, il faut quelques éclaircissements et, pourquoi pas, une copie des ligne de code en cause.
    Plus ça va, moins ça va! (© F.disk Old-Stage)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    J'ai trouvé une solution mais je vais quand même préciser. Je veux faire un titre dans une boîte avec,à gauche, un logo centré verticalement par rapport à cette boîte et, au milieu, un texte également centré verticalement. Le texte du titre sera dans une balise h1. J'avais donc utilisé un css du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    div#EntetePage h1 {
    	background: url(images/logo.gif) left no-repeat;
    	text-align: center;
    	}
    Lorsque j'utilise h1 (dans un div de classe EntetePage) j'obtiens un texte non centré verticalement. Pourtant, pour un h1 classique, le texte est bien centré verticalement. J'utilise donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    div#EntetePage div#Titre {
    	background: url(images/logo.gif) left no-repeat;
    	text-align: center;
    	}
    Je déclare donc un deuxième div de classe Titre dans le div de classe EntetePage, puis j'utilise alors le titre dans h1. J'obtiens bien un titre centré verticalement. Je suis débutant et je ne comprends pas trop ce phénomène.
    "L'orgueil du savoir est pire que l'ignorance."
    [ Shafique Keshavjee ]
    Le roi, le sage et le bouffon

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par ZeImp
    J'ai trouvé une solution mais je vais quand même préciser. Je veux faire un titre dans une boîte avec,à gauche, un logo centré verticalement par rapport à cette boîte et, au milieu, un texte également centré verticalement. Le texte du titre sera dans une balise h1. J'avais donc utilisé un css du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    div#EntetePage h1 {
    	background: url(images/logo.gif) left no-repeat;
    	text-align: center;
    	}
    Lorsque j'utilise h1 (dans un div de classe EntetePage) j'obtiens un texte non centré verticalement. Pourtant, pour un h1 classique, le texte est bien centré verticalement. J'utilise donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    div#EntetePage div#Titre {
    	background: url(images/logo.gif) left no-repeat;
    	text-align: center;
    	}
    Je déclare donc un deuxième div de classe Titre dans le div de classe EntetePage, puis j'utilise alors le titre dans h1. J'obtiens bien un titre centré verticalement. Je suis débutant et je ne comprends pas trop ce phénomène.
    Oui, il y a plein de trucs bizarres. De façons générale, quand tu veux une spécification particulière, il vaut bieux éviter les balises prédéfinies et créer tes propres balises.

    Le plus embêtant est que ce qui est bon pour un navigateur ne l'est pas forcément pour l'autre. C'est d'ailleurs, pour moi, le principal intérêt des feuilles de style CSS: Avec un petit test javascript, on peut charger la feuille de style convenant au navigateur de l'utilisateur, de préférence en les plaçant dans des fichiers externes.

    Je vais te donner un petit truc que tu connais peut-être: En superposant 2 ou 3 divs de façon absolue, décalées de 2 ou 3 pixels dans 2 directions, tu peux créer ton titre en relief, en choisissant judicieusement les couleurs. (ton logo également, s'il s'y prête).

    Si tu vas voir la page d'accueil de mon site perso, en haut à gauche, le titre "AU MENU :" est composé de cette façon avec 3 divs (couleurs utilisées pour le texte: Ocre, jaune pale et noir).
    Plus ça va, moins ça va! (© F.disk Old-Stage)

  5. #5
    Membre averti

    Inscrit en
    Octobre 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 363
    Points : 417
    Points
    417
    Par défaut
    http://www.w3schools.com/css/tryit.asp?filename=trycss_vertical-align

    les différentes valeur pour vertical-align :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    baseline
    sub
    super
    top
    text-top
    middle
    bottom
    text-bottom
    length
    %
    comme pour le text-align il faut un conteneur

  6. #6
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Salut

    Pour centrer un texte et une image de fond verticalement j'utiliserais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    h1 {
    	background: url(une_image_de_fond.jpg) center;
    	font-size: 2em;
    	line-height: 2em; /* centrer txt verticalement => font-size = line-height */
    }
    Bien sur tu mets la valeurs et l'unité que tu souhaite pour font-size. Mais line-height doit être égale.
    Qui aime bien, charrie bien

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Ok, merci pour vos réponses.
    "L'orgueil du savoir est pire que l'ignorance."
    [ Shafique Keshavjee ]
    Le roi, le sage et le bouffon

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 16/08/2006, 09h06
  2. [CSS]Problème de centrage par marges négatives
    Par Oluha dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/08/2006, 15h01
  3. [CSS]problème centrage texte de bouton dans une boîte
    Par Aurelius dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/09/2005, 16h01
  4. [CSS] Problème de centrage
    Par viddak dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 18/05/2005, 15h44
  5. [C#] Problème de centrage de la souris dans un formulaire.
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/10/2004, 11h46

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