Vous vous êtes certainement déjà retrouvé dans le cas de figure illustré ci-dessous ?
Ça peut être une volonté graphique, mais bien souvent ce type de mise en page fonctionne mieux avec un contenu centré.
Voici comment corriger ça.
Ça tient en quelques lignes de CSS !
Encore une fois la propriété CSS flex vient à notre rescousse. Il vous suffit donc d’ajouter les CSS suivantes à votre site Divi.
Dans le code CSS ci-dessous, pour une meilleure lisibilité et donc une plus grande compréhension, j’ai volontairement séparé les règles principales (lignes 2 à 4) de la flopée de déclinaisons avec préfixes qui sont nécessaires afin d’obtenir un résultat homogène sur les divers navigateurs Internet.
Vous voulez savoir où insérer ce code CSS ? Lisez notre article “7 manières d’ajouter des CSS à Divi“.
Comment centrer verticalement ses éléments dans Divi ?
Et bien, il ne vous reste qu’à utiliser où bon vous semble (section, ligne…) la classe centrer-verticalement pour… centrer verticalement votre contenu !
Dans mon exemple :
- ce sera dans les paramètres de ma ligne, dans Avancé -> ID et classes CSS -> Colonne 2 classe CSS.
- pensez également à cocher dans l’onglet Style : Harmoniser la hauteur des colonnes.
Le résultat
Ça a quand même plus de… classe ! (blague de développeur…)
Personnellement, c’est une astuce CSS que j’utilise systématiquement sur tous mes sites Divi.
Elle est passe-partout car elle permet aussi bien de centrer verticalement des modules dans une ligne (comme dans cet exemple) mais aussi des lignes dans des sections.
Ces quelques lignes de CSS font parties du fichier style.css du thème enfant de base dont je me sers pour chacun de mes projets Divi.
Vous n’avez pas de thème enfant ? Téléchargez gratuitement le thème enfant de Divi Community.
Merci pour cette méthode. Est-il possible d’aligner des éléments en bas ?
Il suffit de remplacer center par end. 😉
Plus d’infos ici.
Salut, quand je colle le css dans les options du theme il m’indique une erreur sur la ligne 7 “Duplicate property ‘display’ found”. Et quand je suprime les ligne 7 à 10 ça fonctionne ??
Le système de vérification des erreurs de code de Divi ne doit pas reconnaitre la syntaxe des versions préfixées…
Normalement, ça n’empêche pas le code de fonctionner.
Bonjour,
J’ai utilisé votre méthode sur la page d’accueil de ce site : http://www.lilou-in-the-wood.com.
ça marche très bien, par contre dans le navigateur Firefox le CSS n’est pas pris en compte entièrement, du coup ce n’est pas centré en hauteur mais calé en haut des blocs.
Est-ce normal ? Comment résoudre le problème ?
(A moins que ce soit un mauvais réglage de mon navigateur ?)
Merci pour votre aide.
A priori, c’est une ligne avec le préfixe dédié à FF qui pose souci dans les versions récentes du navigateur : display:-moz-box;
En ajoutant un !important à la première ligne, on peut conserver le préfixe et contrer ça, ce qui donne display:flex!important;
Bonjour,
Rien à faire pour moi, aucune réaction, pourtant tout est bien rentré ou il faut mais j’utilise .header {height: 100vh;} pour avoir un full screen en hauteur !
Bonjour,
J’ai ajouté le code CCS dans le fichier style.ccs de mon theme enfant et j’ai indiqué “centrer-verticalement” dans “Colonne 1 Classe CCS” (car dans mon cas je cherche à centrer la première colonne d’une ligne qui en comporte deux).
Bref, j’ai suivi le procédé.
Divi me signale la même erreur que Julien ligne 7 mais je n’en ai pas tenu compte au vu de la réponse qui lui a été faite.
Mon blocage : je n’ai aucun résultat. Le module texte n’est pas centré et je ne sais pas par quel bout prendre la situation pour avancer.
Avez-vous une idée même avec si peu d’éléments ?
Merci beaucoup.
Bonjour, tous les display sont pour assurer la compatibilité suivant les navigateurs qui interprètent parfois le code différemment.
Pour en savoir plus sur ton problème tu pourrais nous montrer la page?
Je n’avais pas eu la présence d’esprit de me dire que c’était ça mais mon blocage est certainement dû à mon navigateur : Vivaldi. En effet sur Edge cela semble fonctionner correctement.
Bonjour,
j’utilise ceci avec succés, mais pas partout… Et je ne comprends pas pourquoi…
Voici un lien pour que vous compreniez: https://s743913262.onlinehome.fr/laventure
Sur le deuxième bloc ça ne fonctionne pas, on voit le texte collé, mais sur le 3eme et 4eme c’est ok… C’est étrange non? Bref, si vous avez une idée, je suis preneur!
Merci pour votre travail!
Je pense que tu as résolu ton problème car tout me semble bien centré…
Juste au cas où, il ne faut pas oublier de cocher “Harmoniser la hauteur des colonnes” pour que ça fonctionne.
Bonjour Pierre,
Oui, j’ai effectivement résolus sur cette page, c’était encore une fois celui qui est assis sur le siège devant l’ordi le fautif!
Par contre j’ai toujours l’erreur sur une autre page, et la je suis sur (enfant pas au point de me faire couper une main quand même..) qu’il n’y pas d’erreur dans la conception… c’est ici : https://s743913262.onlinehome.fr/
Merci encore pour ce que vous faites!
C’est parce que ton module texte a un height:100%; en CSS personnalisées… 😉
Bonjour,
pour ma part je n’arrive pas à faire marcher correctement l’alignement vertical. Je suis sur le thème builder mais sois le code ne fonctionne pas soit il superpose les différent éléments.
Bonjour, s’il superpose les éléments c’est bon signe, ça veut dire qu’il marche. En revanche ça veut aussi dire que tu n’as pas copié/collé la classe CSS au bon endroit 😉
Tu l’insères bien au niveau de la section dans les classes CSS de chaque colonne?
Bonjour.
Petite difficulté à faire marcher cette astuce pour aligner une ligne dans une section. Je précise que j’ai ma section en 30vh volontairement. Est-ce ça qui bloque ? Si oui, y a-t-il une astuce de contournement ? Sinon, pouvez-vous me dire pourquoi ca ne fonctionne pas ?
Merci et bonne année à vous ! 🙂
Hello, tu peux nous donner l’URL de la page en question?
Bonjour, dans mon cas lorsque je ne peux pas appeler ma fonction CSS uniquement pour ma colonne 2 dans “colonne 2 classe CSS” car dans mon onglet ID et classes CSS j’ai que 2 champs : ID CSS et classe CSS alors que ma liigne comprend bien 2 colonnes …
je ne comprends pas si vous avez une idée
En effet, il faut que je mette à jour ce tuto car Divi a évolué depuis.
Tu peux désormais éditer les réglages de chaque colonne depuis l’onglet “contenu” d’une ligne, en cliquant sur l’icone de roue dentée.
Ensuite, rend-toi dans l’onglet “avancé -> ID et classes CSS -> classe CSS” pour ajouter la classe
centrer-verticalement
.