创建一个悬停效果,将菜单按钮转换为具有阴影克隆版本的 x 形状
P粉546257913
P粉546257913 2024-04-04 11:55:21
0
2
320

首先我想承认我的标题很令人困惑,对此感到抱歉。我想要实现的是悬停时的以下效果:

我的网站在这里 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粉546257913
P粉546257913

全部回复(2)
P粉316890884

我建议制作 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粉670838735

您可以使用 ::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;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!