首先我想承认我的标题很令人困惑,对此感到抱歉。我想要实现的是悬停时的以下效果:
我的网站在这里 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粉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; }
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; }