In this quick and easy tutorial, you will see how to add icons in the Divi menu. It's very simple and above all, it's within the reach of any beginner!
No need to install a complex extension that will further burden your site! You will see that with a piece of CSS code the turn will be played!
1 – Why add icons to the Divi menu?
Well, because it's trendy of course! Or because an icon talks to everyone?
At first glance, the Internet user will know to which item of the menu to go. This can (maybe) improve the user experience?
Beyond these reasons, icons brighten up a web page, break monotony and dress your text. Besides, they're natives in Divi... so why don't they?
Do you know you can test Divi for free? See you on this page and click on "TRY IT FOR FREE"
2 - Add CSS class to menu items
First, you have to enable the addition of CSS Classes within your menu.
It's very simple. Go to tab Appearance > Menu and open them screen options (top, right). Check "CSS classes« .
This option allows a new field to appear within each menu item: the field CSS classes.
You will then use this field for assign a class to each menu item where you want to add an icon.
For my example, I used the Class "ld-menu-homeBut I could have used the Class "piempionIt would have had no impact. So use this field to insert your Classes.
Note that you should not use accents, special characters or spaces. Assign a different class to each item if you want to display different icons.
Don't delay! Discover the theme Divi here !
3 – Insert icons in the Divi menu with CSS
Once you have assigned a Class to each item in the menu, you can add CSS to show the icons in the Divi menu.
If necessary, read this article that explains all ways to add custom code in Divi (including CSS).
Go to the tab Appearance > Customize > Additional CSS and copy the code (Snippet) following :
.ld-menu-home > a:before {
font-family: 'ETMODULES';
content: '\e009'; /* change icon code here */
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def; /* change icon color here */
font-size: 1em; /* change icon size here */
transition: all .3s ease;
}
Explanation:
- The .ld-menu-home calls the class defined earlier in the menu items (chapter 2 of this article).
- fat-family: ‘ETMODULES' indicates which font of icons to use. This font is native in Divi, just call it.
- content: ‘e009'; indicates which icon is to be displayed.
- color: #4d2ef; indicates the color of the icon (a site as HTML Color Code can help you find the perfect color).
If you want to insert a different icon for each menu item, you will then have to duplicate this code as much as you have d CSS class and icon code Every time.
Here is for example the CSS that I used for each item in my menu to display a different icon:
.ld-menu-home > a:before {
font-family: 'ETMODULES';
content: '\e009'; /* change icon code here */
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def; /*change icon color here */
font-size: 1em; /*change icon size here */
transition: all .3s ease;
}
.ld-menu-about > a:before {
font-family: 'ETMODULES';
content: '\7c';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
.ld-menu-room > a:before {
font-family: 'ETMODULES';
content: '\e023';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
.ld-menu-blog > a:before {
font-family: 'ETMODULES';
content: '\e104';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
.ld-menu-contact > a:before {
font-family: 'ETMODULES';
content: '\e010';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
.ld-menu-dispo > a:before {
font-family: 'ETMODULES';
content: '\5a';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
.ld-menu-search > a:before {
font-family: 'ETMODULES';
content: '\55';
text-align: center;
margin-right: 10px;
margin-left: -10px;
color: #4d2def;
font-size: 1em;
transition: all .3s ease;
}
And here's the picture result:
Need more resources on Divi? Visit ElegantThemes blog full of ideas and tutos! Or learn how to effectively use this theme through my training Divi !
4 - Choose icons made available by Divi
The icon codes to display, I didn't invent them! All you have to do is refer to the documentation, so go to the official Divi Icons page.
In the icon bank, you will see that there is a code for each. For example, the Home icon code is . To use, you must remove the prefix &#x and the comma point (;). The icon code of the house is then e009.
Other examples:
- The icon code Clock: 7d
- The Cadenas icon code: 7e
- The icon code Image: e005
- The icon code Bulb: e007
- etc.
Those are the codes that you will have to report in the CSS, at the line "content" for show icons in the Divi menu :
content: '\e009';
5 - Divi menu icons work for all header types
No matter what type of header you use on your site, the icons will display in your Divi menu : default header, centered header, SlideIn headerkeyhead–keyhead in the menu
Use
Icomoon in WordPress
- Add images to the Mega Menu of Divi
- Get 300 additional icons for free You were many to ask in comments: you want to display an icon instead of the text of the menu and not in addition to the text...
- Here is an update of the article to complete the first edition...
- Show an icon in the Divi menu instead of text
6 – Icons in the Divi menu instead of text
, open the screen options and activate the option
If not already done.
- In the tab Appearance > MenuThen place a CSS class, for my example, I use CSS classld-icon-menu
- Renew as needed and save your changes.  or 
- Do not forget the CSS code to place the following code:.
- Here, when you save, your Divi menu displays icons instead of text! Great!
- Finally, go to the tab Appearance > Customize > Additional CSS In a previous article, you explained how
/*----Replace text menu with icons---- */
.ld-icon-menu a {
font-family: 'ETmodules';
font-size: 18px !important;
color: #ffffff !important;
}
.ld-icon-menu a:hover {
font-size: 16px !important;
transform: rotate(15deg);
}
insert images in Divi's mega menu
7 - Insert a custom icon instead of menu text
This is a variant...
Image in the menu instead of text Import your images into the media library and copy their URLs..
Then go to the Appearance > Menu tab. Open an existing menu item or place a new page in your menu. In the Navigation Title field, copy the following code:
- ld-icon-import
- . Save your menu.
<img src="url-de-votre-image" alt="votre-texte-alternatif" width="20%" />
- Ajoutez une Classe CSS à votre élément de menu, par exemple : ld-icon-import. Sauvegardez votre menu.
- Finally, go to the tab Appearance > Customize > Additional CSS In a previous article, you explained how
/*----Align imag with text menu---- */
.ld-icon-import img {
vertical-align: text-bottom !important;
}
This code improves the image display but it is optional or depends on the image type you use. It is possible to adapt it to your needs.
There... Enjoy!
Did you know that? You can test Divi for free by visiting on this page and by clicking on "TRY IT FOR FREE"
Thank you for the tips. I’m having an issue, the codes appear wrong. For example, I enter ‘\ 69’ and, instead of the double document, play appears, which is the code ‘\ 49’. Any suggestion?
Hello Marcelo,
I don’t see where could be this issue…
Bonjour Lycia,
Merci pour ce tuto bien utile. Une question cependant:
– En ce qui me concerne je souhaite remplacer le mot « home » par la maison… Comment puis-je faire cela? Lorsque je laisse le champ vide ça ne fonction pas.
– Comment changer la couleur selon les états « active », survol etc? J’ai essayé mais je ne dois pas appeler les bons éléments puisque ca ne fonctionne pas!
Merci pour votre aide!
Salut Anaïs, pour le mot « home » ne s’agit-il pas simplement du nom que tu as donné à ta page ? Dans ce cas, c’est facile à modifier. Pour changer les états « active » et « survol » :
– « Active » : c’est une option disponible dans Apparence > Personnaliser > En-tête et navigation > Barre primaire > Couleur du lien actif
– « Survol » : c’est du CSS pur.
Salut, super tuto comme toujours.
Mais si on veut n’avoir que l’icône, sans le texte ?
J’ai essayé de bricoler le CSS mais ça marche pas… si quelqu’un a une idée je prends !
Merci !
Merci Pat de poser cette question ! je me demande la même chose !
Comment rajouter une îcone seule ? : Par exemple, je voudrais rajouter une icône « bonhomme » pour la création de compte (mais sans le texte « compte »)
Salut Adline et Pat ! Voilà, j’ai mis l’article à jour pour répondre à votre question : chapitre 6 et 7.
Bonjour et merci pour ce tuto, cependant je souhaite également utiliser uniquement l’icone « home » () mais j’ai un carré blanc qui s’affiche à côté de mon icône dans mon mon menu si je mets le le code de l’icône Divi dans le titre de la navigation.
Salut Karine, tu as bien suivi le tuto ? Si tu mets le bon code comme indiqué, ça doit marcher.
Merci beaucoup pour ta réponse. J’ai en effet bien suivi le tuto avec le code -- qui correspond à l’icône « home » de Divi. Et j’ai exactement le même carré que celui qui s’est affiché dans mon commentaire précédant.
En alternative, pour ne pas avoir ce carré, j’ai remplacé le titre de mon menu par un point (.) mais ce point à côté de l’icône n’est pas très propre dans ma barre de navigation.
url du site : https://ligue-de-squash-pdl.karine-design.fr/
Hello Karine, si tu lis bien mon article : le code -- doit se placer sans texte, sinon tu veux le texte à côté, tu dois utiliser seulement le code -e074-
Là ça devrait marcher.
Bonsoir Lycia, oui c’est bien ce que j’ai fait à la base, j’ai juste mis le code sans aucun autre texte. Mais ça me met un carré à côté de l’icône (le même carré que dans mon tout premier post ) . C’est pour cette raison que j’ai mis un point pour être une alternative plus discrète que le carré.
Karine, le tuto as été mis à jour la semaine dernière. Si tu veux juste l’icône sans texte, la solution est dans le chapitre 6 du tuto. Si tu veux l’icône + le texte, tu dois supprimer le préfixe &#x
C’est peut-être un espace qui traine et qui empêche le code de fonctionner ?
Reviens nous dire quand tu auras trouvé 😉
Thanks so much for this, great tutorial. Used it to add a lock to my client login link.
Great ! 😉
Meric Lycia pour la mise à jour !!! Bravo.
Bonjour Lycia,
Merci pour ce tuto, je suis en train de créer mon site avec Divi et tes formations ainsi que ces astuces m’aident bien !
J’ai cependant une question, dont je ne trouve la réponse nulle part.
J’ai bien modifié le texte d’une de mes pages du menu (la page compte) par une icone. Cependant, lorsque l’on passe en menu mobile (avec le hamburger), la page « compte » passe dans le hamburger. J’aimerais que cette page reste présente visible (comme c’est le cas pour les icones de panier et de recherche) au lieu qu’elle passe dans le menu hamburger, mais je ne sais pas comment faire en CSS…
Aurais-tu une petite idée ?
Merci !
Salut Camille, non ce n’est pas possible. Le CSS ne suffirait pas, il faudrait le coder en PHP, trop compliqué pour moi je pense.
Bonjour Lycia,
Merci beaucoup pour ce tuto et merci de prendre le temps de répondre aux questions, c’est du travail !
Merci Maxime ! Oui c’est du travail, merci de le reconnaître 😉
Bonjour Lycia,
comme d’habitude superbe article très détaillés.
Je voudrai intégrer mes icones que j’ai créé avec Inkscape au format png ou svg et difficile de trouver un tuto sur le web pour ce point en particulier
Une idée svp ?
Bonjour,
J’ai rencontré un problème sur mon menu, les icones s’affichent correctement sur mozilla, mais sur les autres navigateurs, il n’y a pas de problème, pourtant j’ai essayé de changer d’icone et cela marche correctement,
d’où peut venir le problème
J’en ai aucune idée. Peut-être le cache ?
Bonjour !
J’ai un problème d’envergure : il se trouve que lorsque je suis sur « personnaliser » afin de modifier les codes, les icons apparaissent correctement et tout fonctionne. Mais lorsque je me rend directement sur mon blog, aucun icon ne correspond (sauf un, ce qui est bien étrange). J’ai d’ailleurs remarqué que les icons de votre menu ne fonctionnaient pas non plus, peut-être est-ce un problème de navigateur ou autre ?
Va à l’onglet Divi > Option du thème > Créateur et désactive la génération de fichiers statiques
Bonjour Lycia.
Merci pour le coup de pouce ! J’ai une question toutefois. J’ai mis une icone dans le menu (sans texte). Cependant, j’avais un petit carré à la place de mon icône. J’ai dû faire comme si j’avais du texte et mis une balise à la place. Bref, ça fonctionne pour l’ordinateur mais en revanche en version mobile dans mon menu déroulant les icônes sont bien présentes (je peux cliquer dessus), mais impossible de les voir, elles n’apparaissent pas. J’ai essayer de changer la couleur (elles sont en blanc sur le site), mais rien à faire, elles n’apparaissent pas dans mon menu déroulant…
T’a-t-il un bout de CSS à entrer pour le mobile ?? Merci.
Je pense que c’est à cause du cache de Divi. Il faut le désactiver à Divi > Options du thème > Créateur > Avancé et désactiver l’option « génération de fichier CSS statistiques »
Bonjour Lycia,
Merci pour ce super tuto! j’ai un petit problème avec les icons, lorsque je suis sur la page personnalisée, mes icons apparaissent bien. J’ai mis 2 icones dans mon menu une pour ma page contact et une pour ma page login. lorsque je navigue sur mon site, les icones disparaissent en fonction des pages de mon menu. par exemple si je vais sur ma page d’accueil, les icones disparraissent du menu mais sur la page « a propos », les icones sont bien présentes. J’ai essayé de désactiver l’option « génération de fichier CSS statistiques », cela n’a rien changé. une idée? Merci beaucoup!
Ah c’est bizarre car justement j’allais te dire de désactiver la génération de CSS. Peut-être as-tu un plugin de cache ?
Utilises plutôt le thème builder et ajoute des modules images avec un lien dessus, c’est bien plus simple que de tout recoder
Merci Lycia pour ta réponse. En faite j’ai désactivé l’option « dynamic icons » et ça a marché!
Bonjour Lycia,
petite question complémentaire pour laquelle je ne trouve de réponse nulle part sur la toile, y’a t’il un moyen simple d’intervertir l’icone du panier et de recherche, a savoir mettre le panier apres le bouton search ?
merci de tes éclaircissements !! a bientôt
Bonne question. Ce doit être faisable en codant je suppose. Je n’ai pas de solution à te proposer par l’instant
Hello !
Merci pour le tuto ! ça marche nickel.
=> une astuce pour passer le picto à droite (plutôt qu’à gauche du texte du menu) ?
Hum bonne question…
C’est bon j’ai trouvé comment faire passer le picto de gauche à droite de l’intitulé du menu.
(dans mon cas c’est le menu secondaire, donc pour ceux qui en aurait besoin pour le menu primaire il faudra remplacer #et-secondary-menu par la bonne class (que je connais pas de mémoire et je préfère ne pas laisser d’indications hasardeuses)
#et-secondary-menu li >a:before {
position:absolute;
right: -15px;
}
#et-secondary-menu li {
padding-right: 25px;
}
Bonjour, quel code CSS peut-on ajouter pour que l’icône soit de taille raisonnable en affichages tablette et mobile ?
Merci !
Ah mince, bonne question. C’est un peu compliqué car il faut inspecter le code puis l’écrire avec des Medias Queries. Je ne peux pas vraiment te répondre là comme ça…