首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css不规则按钮动画效果

发布于 2024-11-11 19:04:33
0
12

CSS不规则按钮动画的实现

/* 第一步:定义按钮样式 */
.button {
  display: inline-block;
  padding: 15px 30px;
  background-color: #333;
  color: #fff;
  font-size: 18px;
  border-radius: 5px;
  position: relative;
  overflow: hidden; /* 确保文字不会被剪裁 */
}

/* 第二步:定义伪元素 */
.button::before {
  content: "";
  position: absolute;
  top: -25px;
  left: -25px;
  width: 0;
  height: 0;
  border: 25px solid transparent;
  border-top-color: #6f6;
  border-right-color: #9f9;
  border-bottom-color: #cfc;
  border-left-color: #9f9;
  transition: all 0.5s ease-in-out;
  transform: rotate(45deg);
}

.button::after {
  content: "";
  position: absolute;
  bottom: -25px;
  right: -25px;
  width: 0;
  height: 0;
  border: 25px solid transparent;
  border-top-color: #cfc;
  border-right-color: #9f9;
  border-bottom-color: #6f6;
  border-left-color: #9f9;
  transition: all 0.5s ease-in-out;
  transform: rotate(45deg);
}

/* 第三步:定义鼠标悬浮时按钮的动画效果 */
.button:hover::before {
  width: calc(100% + 50px);
  height: calc(100% + 50px);
  top: -25px;
  left: -25px;
}

.button:hover::after {
  width: calc(100% + 50px);
  height: calc(100% + 50px);
  bottom: -25px;
  right: -25px;
}

/* 第四步:完成按钮效果 */ 

以上就是一个不规则按钮动画效果的实现代码。首先定义基础样式,然后通过伪元素before和after在按钮上加入两个不规则的三角形。再通过鼠标悬浮时对伪元素的transition进行控制,让按钮上的不规则三角形动起来。最后通过一些细节调整就可以得到完美的效果。我们可以根据需要自定义边框的颜色和宽度,也可以调整三角形的大小和位置,来达到更加丰富的效果。这是CSS的神奇之处,只需几行代码就能实现复杂的动画效果。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流