搜尋

首頁  >  問答  >  主體

建立一個懸停效果,將選單按鈕轉換為具有陰影複製版本的 x 形狀

首先我想承認我的標題很令人困惑,對此感到抱歉。我想要實現的是懸停時的以下效果:

我的網站在這裡 https://wordpress-493302-3130963.cloudwaysapps.com/

我已經成功地使用 css 轉換完成了我想要實現的目標的一半,但無法看到創建按鈕的影子副本,如上圖所示。我的CSS如下

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

如果這可以使用 JS 或其他也可以實現的東西來實現,但 CSS 是首選。

不包含從大型選單外掛程式產生的 html,但如果需要可以這樣做。

P粉546257913P粉546257913336 天前580

全部回覆(2)我來回復

  • P粉316890884

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

    我建議製作 2 個按鈕/一個標籤:

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

    回覆
    0
  • P粉670838735

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

    您可以使用 ::before 來套用此效果。

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

    回覆
    0
  • 取消回覆