CSS: aligner verticalement du texte dans une liste

Fermé
yoanpg Messages postés 157 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 29 avril 2024 - 20 mai 2014 à 09:03
yoanpg Messages postés 157 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 29 avril 2024 - 21 mai 2014 à 13:33
Bonjour à tous,
Je voudrais faire un truc tout bête, et pourtant je n'y arrive pas.

J'ai une liste, qui est mise en forme (grâce à du CSS) en forme de bandeau, où chaque item est un rectangle. La hauteur du rectangle est plus grande que la taille d'une ligne. Et je voudrais tout simplement centrer verticalement mon texte. :s

Je ne peux pas utiliser line-height car certains items sont sur plusieurs lignes. J'ai aussi essayé vertical-align:middle, mais ça ne change rien. Comment faire alors ??

Pour voir mon problème "en vrai", c'est sur http://www.sportingclubplaisance.fr/scp-cyclisme.fr, c'est le bandeau rouge d'en haut.

Merci d'avance de votre aide :)

6 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
20 mai 2014 à 11:32
Salut,

Voici une solution possible :


#menu_scp li {
    background-image: url("./images/motif_menu.png");
    border: 1px solid #FFFFFF;
    display: block;
    float: left;
    font-family: Myriad pro,Verdana;
    font-size: 12px;
    height: 33px;
    line-height: 33px; /* on définit le line-height égal à height */
    list-style-type: none;
    /* padding-top: 8px; on supprime la marge interieur*/
    text-align: center;
    width: 131px;
}

#menu_scp li a {
    color: #000000;
    text-decoration: none;
    display: inline-block; /* on affiche le texte sous forme d'un bloc (utile pour le vertical-align) */
    vertical-align: middle; /* on centre verticalement le texte */
    line-height: normal; /* on remet la hauteur de ligne par défaut */
}


Bonne journée
0
yoanpg Messages postés 157 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 29 avril 2024
20 mai 2014 à 16:07
J'ai fait les modifs sur la page http://www.sportingclubplaisance.fr/scp-artsmartiaux.fr et mon texte n'est toujours pas centré verticalement :(

Ai-je fait une erreur par rapport à ton code ?
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
20 mai 2014 à 16:46
Tu as effectivement quelques erreurs de syntaxe dans ton code css :

- pour les commentaires en css, les symboles // en début de ligne ne fonctionne pas. Tu dois entourer ton code commenté avec /* commentaire */
- la propriété text-alignement n'existe pas. Remet celle que tu utilisais avant : text-align: center;

Pour vérifier tes erreurs de syntaxe css, aide toi du validateur w3c : http://jigsaw.w3.org/css-validator/

Bonne correction ;)
0
yoanpg Messages postés 157 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 29 avril 2024
20 mai 2014 à 17:02
Merci de ton aide et merci pour ce site fort utile :)

Bizarre pour les //, car quand je l'ai ajouté, mon texte est bien monté en haut du rectangle. Enfin j'ai quand même remplacé par /* */.

text-alignement corrigé par text-align (le correcteur orthographique de mon téléphone avait automatiquement complété le mot :s)

Par contre mon texte est toujours en haut du rectangle :( Il est récalcitrant !
0

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

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
21 mai 2014 à 09:10
Apparemment le fait que tu utilises un Doctype transitionnal peut poser problème. Je te conseil de passer au HTML 5 :)

Tu as encore des erreurs dans ton code css : http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.sportingclubplaisance.fr%2Fscp-artsmartiaux.fr%2Fwp-content%2Fthemes%2Fscp-artsmartiaux%2Fstyle.css&profile=css3&usermedium=all&warning=1&vextwarning=&lang=fr

Enfin tu peux trouver ici un bon tuto expliquant différentes technique pour centrer verticalement : https://www.alsacreations.com/tuto/lire/1032-comment-centrer-verticalement-sur-tous-les-navigateurs.html
0
yoanpg Messages postés 157 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 29 avril 2024
21 mai 2014 à 13:33
En effet en HTML5 ça fonctionne avec <!DOCTYPE html> ! Merci de ton aide :)

Il faut que je vérifie que le reste continue de fonctionner correctement. Quelles peuvent être les différences sur l'affichage de passer de HTML4 à 5 ?
0