Maison  >  Questions et réponses  >  le corps du texte

Créez un effet de survol qui transforme le bouton de menu en forme de X avec une version clone ombré

Tout d'abord, je tiens à admettre que mon titre prête à confusion et j'en suis désolé. Ce que je veux obtenir, c'est l'effet suivant en survol :

Mon site Web est ici https://wordpress-493302-3130963.cloudwaysapps.com/

J'ai réussi à réaliser la moitié de ce que je souhaite réaliser en utilisant les transitions CSS, mais je ne parviens pas à voir le cliché instantané du bouton en cours de création, comme indiqué dans l'image ci-dessus. Mon CSS est le suivant

.cta-button-menu:hover {
        transform:rotateZ(45deg) !important;
        background: #21B6CD !important;
        color: white !important;
        transition: 1s;
    }

Si cela peut être implémenté en utilisant JS ou autre chose, c'est également possible, mais CSS est préféré.

N'inclut pas le HTML généré à partir du plugin méga menu, mais cela peut être fait si vous le souhaitez.

P粉546257913P粉546257913169 Il y a quelques jours302

répondre à tous(2)je répondrai

  • P粉316890884

    P粉3168908842024-04-05 10:54:37

    Je recommande de réaliser 2 boutons/une étiquette :

    body {
      padding: 4em;
      background-color: black;
    }
    
    .button {
      position: relative;
    }
    
    .firstButton,
    .secondButton {
      position: absolute;
      display: inline-block;
      padding: 1em;
      text-align: center;
      color: white;
      text-decoration: none;
      border: 1px solid white;
    }
    .firstButton {
      visibility: hidden;
    }
    
    .button:hover .firstButton {
      transform: rotateZ(45deg);
      background: #E83054;
      visibility: visible;
    }
    .button:hover .secondButton {
      transform: rotateZ(-45deg);
      background: #21B6CD;
    }  
      

    répondre
    0
  • P粉670838735

    P粉6708387352024-04-05 00:04:10

    Vous pouvez utiliser ::before pour appliquer cet effet.

    .wrapper{
    height:300px;
    background-color:gray;
    }
    
    .btn, .btn::before{
      font-size:2rem;
      color:white;
      width:200px;
      height:70px;
      border:2px solid white;
      transition:all 0.3s linear;
      display:flex;
      justify-content:center;
      align-items:center;
    }
    
    .btn{
      position:relative;
      top:30%;
      left:30%;
      background-color:transparent;
    }
      
    .btn:hover {
       background-color:#21b6cd;
       transform: rotateZ(45deg);
       border:none;
    }
    
    .btn::before {
      content:"Book Now";
      background-color:transparent;
      position:absolute;
    }
    
    .btn:hover::before{
      transform: rotateZ(-90deg);
      background-color:#e72f54;
      border:none;
    }

    répondre
    0
  • Annulerrépondre