Dans le monde de la conception de sites Web, les codeurs et les non-codeurs chercheront un jour à ajouter des personnalisations et des fonctionnalités plus avancées à leurs sites Web Divi. En général, cela implique l’utilisation de Javascript/JQuery pour modifier le style des éléments de la page pour différentes raisons. Vous pouvez vouloir faire apparaître un formulaire de contact lorsque vous cliquez sur un bouton. Ou vous pouvez vouloir modifier une image lorsque vous survolez un lien.

Dans ce tutoriel, nous allons vous montrer comment modifier le style de plusieurs éléments au survol ou au clic dans Divi. Tout d’abord, nous allons profiter des options de conception intégrées de Divi pour concevoir une mise en page de section. Ensuite, nous présenterons un simple extrait de jQuery que vous pouvez utiliser en combinaison avec un CSS personnalisé pour ajuster le style de n’importe quel élément de cette section lors du survol ou du clic sur un bouton. Cela peut sembler compliqué (surtout pour les débutants), mais vous pourriez être surpris de la simplicité de la tâche.

C’est parti !

Coup d’œil rapide

Voici un aperçu du design que nous allons créer dans ce tutoriel.

Voici la mise en page de la section qui change lorsqu’on passe la souris sur le bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Et voici la même mise en page de section modifiée en cliquant sur le bouton. Remarquez que le texte du bouton change également en cas de clic.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

 

Pour importer la mise en page de la section dans votre bibliothèque Divi, accédez à la bibliothèque Divi.

Cliquez sur le bouton Importer.

Dans la fenêtre contextuelle de portabilité, sélectionnez l’onglet d’importation et choisissez le fichier à télécharger depuis votre ordinateur.

Cliquez ensuite sur le bouton d’importation.

divi notification box
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Une fois cela fait, la mise en page de la section sera disponible dans le Divi Builder.

Passons au tutoriel, voulez-vous ?

Ce dont vous avez besoin pour commencer

expanding corner tabs
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Pour commencer, vous devez effectuer les opérations suivantes :

  1. Si vous ne l’avez pas encore fait, installez et activez le thème Divi.
  2. Créez une nouvelle page dans WordPress et utilisez le Divi Builder pour modifier la page sur le front-end (constructeur visuel).
  3. Choisissez l’option « Build From Scratch ».

Après cela, vous aurez une toile vierge pour commencer à concevoir dans Divi.

Partie 1 : Conception de la mise en page de la section

Pour commencer, créez une nouvelle ligne à deux colonnes.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Paramètres de la section

Avant d’ajouter des modules, ouvrez les paramètres de la section et mettez à jour les éléments suivants :

  • Couleur d’arrière-plan : #ffffff

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

  • Style du séparateur supérieur : voir la capture d’écran
  • Couleur du séparateur supérieur : #ffffff
  • Hauteur du séparateur supérieur : 5vw
  • Style du séparateur inférieur : identique
  • Couleur du séparateur inférieur : #ffffff
  • Hauteur du séparateur inférieur : 5vw
  • Rembourrage : 6vw en haut, 6vw en bas

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Avant l’image

Dans la colonne de gauche de la rangée à deux colonnes, ajoutez un nouveau module image.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Téléchargez ensuite l’image que vous souhaitez mettre en valeur. Pour ce tutoriel, nous utilisons une image du pack de mise en page pour la gestion de l’apprentissage (LMS), qui mesure environ 800 px par 550 px.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Dans l’onglet « Design », mettez à jour l’alignement et activez l’option « Force fullwidth ».

  • Alignement de l’image : centre
  • Forcer la largeur totale : OUI

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Image suivante

Ensuite, nous allons créer une autre image que nous afficherons lorsque nous survolerons/cliquerons sur un bouton.

Pour créer l’image, dupliquez le module image précédent.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Puis téléchargez une nouvelle image. L’image doit avoir la même taille que l’autre image puisqu’elle remplacera l’autre image au survol/au clic.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Pour cette image, nous allons lui donner une position absolue. Ainsi, l’image se trouvera directement au-dessus de l’autre image sans occuper d’espace réel sur la page.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Dans l’onglet Conception, modifiez l’opacité dans les options de filtre de manière à ce que l’image soit complètement invisible.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter un en-tête de texte

Dans la colonne de droite, ajoutez un nouvel élément de texte.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Collez ensuite le HTML suivant dans la zone de contenu du corps :

Concevoirtout ce que vous voulez avec Divi

.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Remarquez que certains des mots du texte sont entourés de balises span. C’est pour que nous puissions cibler et styliser ces mots plus tard avec un CSS personnalisé.

Sous l’onglet Conception, mettez à jour les options de style H3 comme suit :

  • Titre 3 Police : Montserrat
  • Poids de la police de l’en-tête 3 : Ultra Bold
  • Style de la police Heading 3 : TT
  • Taille du texte Heading 3 : 65px (ordinateur de bureau et tablette), 40px (téléphone)
  • Espacement des lettres du Heading 3 : 0.8em
  • Hauteur de ligne de l’entête 3 : 1,3em

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Nous nous sommes occupés de la mise en page de la section qui contient les éléments de conception que nous allons modifier en survolant/cliquant sur un bouton. Dans la section suivante, nous allons ajouter le bouton que nous utiliserons pour déclencher les changements de style.

Créer une section pour le bouton

Créez une nouvelle section ordinaire sous la section actuelle.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajoutez ensuite une rangée d’une colonne à la section.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter un bouton

Dans la colonne, ajoutez un nouveau module de bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Changez le texte du bouton en « Voir après ».

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Passez à l’onglet Conception et mettez à jour la conception du bouton comme suit :

  • Utiliser des styles personnalisés pour le bouton : YES
  • Taille du texte du bouton : 16px
  • Couleur du texte du bouton : #ffffff
  • Arrière-plan du bouton : #4b4baf
  • Arrière-plan du bouton (survol) : #67ddc1
  • Largeur de la bordure du bouton : 0px
  • Espacement des lettres du bouton : 4px
  • Police du bouton : Montserrat
  • Poids de la police du bouton : Semi-bold (semi-gras)
  • Style de la police des boutons : TT

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Partie 2 : ajout de classes CSS aux éléments

Maintenant que notre conception est en place, nous allons réaliser le reste des changements de conception en utilisant du code personnalisé (CSS et JQuery). Mais avant de commencer à ajouter notre code personnalisé, nous devons ajouter des classes CSS à tous les éléments que nous souhaitons modifier lors du survol/du clic sur le bouton.

Ajouter une classe CSS à la section

Pour ajouter une classe CSS à la section, ouvrez les paramètres de la section et cliquez sur l’onglet avancé. Saisissez ensuite la classe CSS suivante :

  • Classe CSS : et-change-style_section

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter une classe CSS aux images

Ensuite, ouvrez les paramètres de la première image de la colonne de gauche et ajoutez la classe CSS suivante :

  • Classe CSS : et-before-image

Il s’agit de l’image qui s’affiche « avant » le survol/le clic du bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

À l’aide de la modale des calques, ouvrez les paramètres de la deuxième image (celle qui est masquée par le filtre d’opacité) et ajoutez la classe CSS suivante :

  • Classe CSS : et-after-image

Il s’agit de l’image qui s’affiche « après » le survol/le clic du bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajoutez une classe CSS au texte

Ensuite, ajoutez la classe CSS suivante au module Texte dans la colonne de droite :

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ajouter une classe CSS au bouton

Enfin, ajoutez une classe CSS personnalisée au bouton dans la section inférieure comme suit :

  • Classe CSS : et-toggle-button

Nous avons besoin de cette classe pour cibler le bouton pour la fonctionnalité de survol/clic dans le code plus tard.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Partie 3 : ajoutez du code personnalisé pour modifier les styles au survol ou au clic

Maintenant que toutes nos classes CSS sont en place, nous pouvons ajouter le code nécessaire pour modifier le style de tous ces éléments lors du survol/du clic sur le bouton.

Module d’ajout de code

Pour ajouter le code, ajoutez un module de code sous le bouton dans la section inférieure.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Coller le code JQuery

Collez ensuite le code JQuery suivant. Veillez à envelopper le code dans des balises de script car nous ajoutons le code à un document HTML (et non à un fichier JS).

(function($) {
    $(document).ready(function(){
        $('.et-toggle-button').hover(function(){
            $('.et-change-style_section').toggleClass('et-change-style_active') ;
            var $this = $(this) ;
            $this.toggleClass('et-toggle-button_active') ;
        }) ;
    }) ;
})( jQuery ) ;

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Si vous jetez un coup d’œil au code, vous devriez reconnaître les classes CSS que nous avons ajoutées au bouton et à la section.

La classe de bouton (« .et-toggle-button ») est utilisée pour cibler l’élément qui lancera une fonction au survol.

Au survol, la fonction trouvera l’élément avec la classe de section « .et-change-style_section » et basculera/ajoute une nouvelle classe (« .et-change-style-active ») lorsque le curseur survole le bouton.

Le bouton est également ciblé (via « $this ») afin de faire basculer une nouvelle classe (« .et-toggle-button_active ») en cas de survol.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

La clé pour modifier les styles de ces éléments au survol est d’ajouter/de faire basculer ces nouvelles classes CSS supplémentaires à la section et au bouton.

Par exemple, une fois que la section avec la classe « .et-change-style_section » a reçu cette classe supplémentaire (« .et-change-style_active »), nous pouvons utiliser le CSS personnalisé pour modifier le style de la section qui lui a été attribué à l’origine via les options Divi intégrées.

Modification du style des éléments avec le CSS personnalisé

Ouvrez le module de code et collez le CSS personnalisé suivant au-dessus du script JQuery, en veillant à l’entourer des balises Style nécessaires.

.et_pb_section.et-change-style_section.et-change-style_active {
   background-color:#484db0 !important ;
 }

Remarquez que la classe de section initiale est combinée avec la nouvelle classe comme sélecteur. Le CSS qui suit ne s’appliquera à la section que lorsque cette nouvelle classe est attachée. Lorsqu’elle n’est pas attachée, le design original s’affiche. Dans cet exemple, la couleur d’arrière-plan de la section change au passage du curseur sur le bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Ensuite, collez le CSS supplémentaire suivant à l’intérieur des balises de style.

 .et-change-style_active .et-after-image {
    filtre : opacité(100%) ;
  }
  .et-change-style_active .et-before-image {
    filtre : opacité(0%) ;
  }  

Comme une classe est attribuée à la section parent au survol, vous pouvez cibler les éléments enfants de la section (comme les images) à l’aide de cette même classe CSS. Mais comme il s’agit d’une classe dans un conteneur/section parent, la classe CSS doit précéder la classe de l’élément que vous cherchez à modifier. Dans cet exemple, la classe CSS (« .et-change-style_active ») donnée à la section parent précède la classe donnée aux images enfants (« .et-after-image » et « .et-before-image »).

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

La CSS de l’image suivante affichera l’image au survol du bouton. Et le CSS de l’image avant cachera l’image au survol du bouton. Le résultat est que l’image initiale est remplacée par une nouvelle image au survol du bouton.

Collez ensuite le reste du CSS à l’intérieur des balises de style :

 .et-change-style_active .et-style-text h3, .et-change-style_active .et-style-text p {
    couleur : #ffffff ;
  }
  .et-change-style_active .et-style-text h3 span {
    couleur : #67ddc1 ;
  }
  .et-toggle-button_active {
    transform : scale(1.1) ;
    background-color : #67ddc1 !important ;
  }  
  .et-change-style_active, .et-before-image, .et-after-image, .et-style-text h3 {
    transition : all 0.3s ;
  }

Ces extraits CSS utilisent le même concept pour modifier le style de l’élément lorsque la section (ou le bouton) possède la nouvelle classe.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Résultat final (survol)

Une fois le code ajouté, enregistrez les modifications et ouvrez la page pour voir le résultat. Remarquez comment les éléments que nous avons ciblés sont modifiés lors du survol du bouton.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Modification des styles au clic plutôt qu’au survol

Si vous souhaitez modifier le style de ces mêmes éléments en cliquant sur le bouton (plutôt qu’en le survolant), il vous suffit d’apporter quelques modifications à JQuery. La plupart du code restera le même. La principale différence est que la méthode « hover » est remplacée par « click ». Et nous avons ajouté un bout de code utile qui modifie le texte du bouton en cas de clic.

Pour ajouter la fonctionnalité de clic, remplacez le JQuery actuel par le code suivant (assurez-vous qu’il est entouré des balises de script) :

(function($) {
    $(document).ready(function(){
        $('.et-toggle-button').click(function(e){
            e.preventDefault() ;
            $('.et-change-style_section').toggleClass('et-change-style_active') ;
            var $this = $(this) ;
            $this.toggleClass('et-toggle-button_active') ;
            if ($this.hasClass('et-toggle-button_active')){
                $this.text('Voir avant') ;
            } else {
                $this.text('See After') ;
            }
        }) ;
    }) ;
})( jQuery ) ;

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Voici le résultat final.

change style of multiple elements on click or hover in divi
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc
  • https://www.facebook.com/lafactoryworld
  • https://twitter.com/lafactory
  • Gmail
  • https://www.linkedin.com/company/lafactory-inc

Réflexions finales

Pouvoir cibler et modifier le style de plusieurs éléments d’une page lorsqu’on les survole ou qu’on clique dessus est une compétence utile en conception Web. Vous pouvez utiliser cette technique dans de nombreux cas (avant et après, CTA, etc.). Bien sûr, il est utile de connaître un peu de CSS et de JS/JQuery. Mais, comme vous l’avez vu dans ce tutoriel, vous n’avez pas besoin de connaître une tonne de code pour obtenir des résultats surprenants !

J’ai hâte de lire vos commentaires.

À la vôtre !