Divi Tips 97: icons in the Divi menu

How to add icons to the Divi menu (without plugin)?

Updated on 25/09/21

1501 words

6 minutes of reading
38 comments

This article contains affiliate links recognizable by the percentage icon (%) → I am an affiliate link

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!

Icon Entete Defaut
Icons in the menu – Default header

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« .

Add Class Icon Menu
Enable Add CSS Class

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.

Add Class Css Icon
Add a class to each menu item

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).

Add Css Icone Menu
Add CSS to make appear icons in the Divi menu

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:

Icon Entete Defaut
Icons in the menu – Default header

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.

Icones Elegantthemes
Use the icons made available by Elegantthemes

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

Icon Entete Centree
To go further, I propose this related playlist:
Icon Entete Slidein
Header and Divi menu: all settings

Use

Icomoon in WordPress

6 – Icons in the Divi menu instead of text

, open the screen options and activate the option

If not already done.

Show an icon in the menu instead of text
Place your pages in the menu, as usual but instead of keeping the default navigation title, copy and paste the desired Divi icon code, as explained in Chapter 4 of this article. On the other hand, you keep the entire code: for example, the Home icon code is
  1. In the tab Appearance > MenuThen place a CSS class, for my example, I use CSS classld-icon-menu
  2. Renew as needed and save your changes.  or 
  3. Do not forget the CSS code to place the following code:.
  4. Here, when you save, your Divi menu displays icons instead of text! Great!
Show an icon in the menu instead of text - part 2
If you don't like Divi's native icons now, you can use custom icons that you import in your media library.
  1. 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:

Add a CSS Class to your menu item, for example:
Add a CSS Class to your menu item, for example:
  1. ld-icon-import
  2. . Save your menu.
<img src="url-de-votre-image" alt="votre-texte-alternatif" width="20%" />
  1. Ajoutez une Classe CSS à votre élément de menu, par exemple : ld-icon-import. Sauvegardez votre menu.
Icon in the Divi menu
Do not forget CSS to improve the display
  1. 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"

Icone Menu Divi Pinterest
Add Icones Menu Divi

Get Divi

Divi training

Ebook Divi PDF

Free tips

Divi Quiz

Live coaching

icon 256x256

Proudly translated by wpLingua, the translation extension for WordPress That I develop! SEO-Friendly / Automatic / Editable

38 Comments

  1. Marcelo

    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?

  2. Lycia Diaz

    Hello Marcelo,
    I don’t see where could be this issue…

  3. AnaïsM

    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!

  4. Lycia Diaz

    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.

  5. Pat

    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 !

  6. ADELINE SCHINELLA

    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 »)

  7. Lycia Diaz

    Salut Adline et Pat ! Voilà, j’ai mis l’article à jour pour répondre à votre question : chapitre 6 et 7.

  8. Karine

    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.

  9. Lycia Diaz

    Salut Karine, tu as bien suivi le tuto ? Si tu mets le bon code comme indiqué, ça doit marcher.

  10. Karine

    Merci beaucoup pour ta réponse. J’ai en effet bien suivi le tuto avec le code -&#xe074- 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/

  11. Lycia Diaz

    Hello Karine, si tu lis bien mon article : le code -&#xe074- doit se placer sans texte, sinon tu veux le texte à côté, tu dois utiliser seulement le code -e074-
    Là ça devrait marcher.

  12. Karine

    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é.

  13. Lycia Diaz

    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é 😉

  14. Lesley

    Thanks so much for this, great tutorial. Used it to add a lock to my client login link.

  15. Lycia Diaz

    Great ! 😉

  16. Pat

    Meric Lycia pour la mise à jour !!! Bravo.

  17. Camille

    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 !

  18. Lycia Diaz

    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.

  19. Maxime Bardou

    Bonjour Lycia,

    Merci beaucoup pour ce tuto et merci de prendre le temps de répondre aux questions, c’est du travail !

  20. Lycia Diaz

    Merci Maxime ! Oui c’est du travail, merci de le reconnaître 😉

  21. Youssef

    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 ?

  22. Saurel

    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

  23. Lycia Diaz

    J’en ai aucune idée. Peut-être le cache ?

  24. Sarah

    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 ?

  25. Lycia Diaz

    Va à l’onglet Divi > Option du thème > Créateur et désactive la génération de fichiers statiques

  26. Bertrand

    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.

  27. Lycia Diaz

    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 »

  28. stephanie

    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!

  29. Lycia Diaz

    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 ?

  30. Lycia Diaz

    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

  31. stephanie

    Merci Lycia pour ta réponse. En faite j’ai désactivé l’option « dynamic icons » et ça a marché!

  32. Stephane

    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

  33. Lycia Diaz

    Bonne question. Ce doit être faisable en codant je suppose. Je n’ai pas de solution à te proposer par l’instant

  34. Raffi

    Hello !
    Merci pour le tuto ! ça marche nickel.

    => une astuce pour passer le picto à droite (plutôt qu’à gauche du texte du menu) ?

  35. Lycia Diaz

    Hum bonne question…

  36. Raffi

    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;
    }

  37. Anne

    Bonjour, quel code CSS peut-on ajouter pour que l’icône soit de taille raisonnable en affichages tablette et mobile ?

    Merci !

  38. Lycia Diaz

    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…

Submit a comment

Your email address will not be published. Required fields are indicated with *

This site uses Akismet to reduce undesirables. Learn more about how your feedback data is used.