写在前面】这两天还是比较痴迷于CSS特效的,甚至还想着去用CSS做动画片呢,希望后面能做到,今天主要讲的是我们页面常见的元素-按钮,很多时候按钮也需要高级化,但是很多人苦于没有途径去寻找,于是乎借这个机会给大家分享一下如何实现高级的按钮动态效果,主要线条动态化按钮,及悬浮倒影效果。

涉及知识点】:CSS3实现高级按钮,CSS实现按钮动画特效,CSS实现动态按钮效果,CSS实现按钮光影效果,box-reflect实现倒影效果,Animation实现动画效果。

效果展示】别的不多说,先看效果:

css ios按钮 css按钮设计_科技


邀您上皇榜入口点击此处

目录

  • 一、实现原理
  • 1.1transform属性实现移动
  • 1.2Animation设置动画属性
  • 1.3box-reflect设置倒影效果
  • 二、完整源码包分享
  • 百度网盘下载地址
  • 123云盘下载地址
  • 彩蛋皇榜


一、实现原理

版权声明:原创于CSDN博主-拄杖盲学轻声码,有疑惑可去留言私信哟!

1.1transform属性实现移动

Transform设置translate值的设置
Translate(x,y)以中心为基点按照设定的x,y参数值,对元素进行进行平移
我们设置的动画效果离不开这个移动属性值的设置,我是在元素dom节点伪元素before上设置了负50%的偏移。

transform: translate(-50%, -50%);

添加后页面效果如下所示:

css ios按钮 css按钮设计_css3_02

1.2Animation设置动画属性

其实这一步是最关键的,我设置如下所示:

.btn::before {
  content: '';
  position: absolute;
  z-index: -2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 150%;
  height: 300%;
  background-color: #000;
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: 0 0;
  background-image: conic-gradient(var(--color), var(--color));
  animation: rotate 2s linear infinite;
}
@keyframes rotate {
  100% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
}

其中设置了2秒跑完整个循环,然后永远不会停止。

效果如下所示:

css ios按钮 css按钮设计_css_03

版权声明:原创于CSDN博主-拄杖盲学轻声码,有疑惑可去留言私信哟!

1.3box-reflect设置倒影效果

box-reflect:包括3个值(方向,偏移,遮罩)。
方向:
direction 定义方向,取值包括 above 、 below 、 left 、 right。
above:指定倒影在对象的上边
below:指定倒影在对象的下边
left:指定倒影在对象的左边
right:指定倒影在对象的右边
偏移
主要是针对倒影与图像之间的距离,也可以为负值
遮罩
该图像将覆盖投影区域。如果省略该参数值,则默认为无遮罩图像
我设置如下:

.btn {
  position: relative;
  z-index: 0;
  width: 160px;
  height: 80px;
  line-height: 80px;
  color: var(--color);
  font-size: 24px;
  border-radius: 10px;
  text-align: center;
  margin: auto;
  overflow: hidden;
  cursor: pointer;
  transition: .3s;
  -webkit-box-reflect: below 10px linear-gradient(transparent, rgba(0, 0, 0, 0.4));
}

整体页面倒影效果如下:

css ios按钮 css按钮设计_css_04

二、完整源码包分享

百度网盘下载地址

链接:https://pan.baidu.com/s/1k53AEACJ1MudpiDKxv4iZQ
提取码:hdd6

123云盘下载地址

链接:https://www.123pan.com/s/ZxkUVv-OzJ4.html
提取码:hdd6