温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用css伪类实现鼠标滑过按钮动画效果

发布时间:2021-01-29 09:42:56 阅读:206 作者:小新 栏目:web开发
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍了如何利用css伪类实现鼠标滑过按钮动画效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

按钮,对开发者而言,是非常常见的一个功能。前端通常会对按钮加入一些操作交互样式,增加一些用户体验。

比如:hover样式、点击样式、loading样式等。下面我们通过简单示例在学习一下css3动画和css伪类。

示例一

<button class="btn-1">按钮一</button>

<style>
button{
  position: relative;
  width100px;
  height40px;
  border1px solid #46b0ff;
  background: none;
  cursor: pointer;
}
button:after{
  position: absolute;
  content'';
  width100%;
  height100%;
  top0;
  left0;
}
.btn-1:after{
  opacity0; 
  background#46b0ff;
  transition: all .3s;
  z-index: -1;
}
.btn-1:hover:after{
  opacity1; 
}
</style>

如何利用css伪类实现鼠标滑过按钮动画效果

解析:

1、利用伪类作为鼠标:hover事件后,按钮的背景,这里用到了相对定位(relative)和绝对定位(absolute)

切记:使用绝对定位的元素,父元素一定要用相对定位,否则元素会一直向上找相对定位的元素,直至根节点。

2、这里用transition对:hover事件动画进行描述,0.3s完成动画,改变:after的透明度。all是所有行为。

当然,这里我们还有更简单是实现方式,不用类型,直接改变背景也是ok的,请看代码:

<button class="btn-1">按钮一</button>

<style>
button{
  position: relative;
  width100px;
  height40px;
  border1px solid #46b0ff;
  background: none;
  cursor: pointer;
  backgroundrgba(701762550);
  transition: all 1s;
}
.btn-1:hover{
  backgroundrgba(701762551);
}
</style>

ok,我们在示例一的基础上,更进一步,请看示例二

示例二

<button class="btn-2">按钮二</button>

<style>
...
/* 这里省略上方的公共样式 */
.btn-2:after{
  width0;
  background#f13f84;
  transition: all .3s;
  z-index: -1;
}
.btn-2:hover:after{
  width100%;
}
</style>

如何利用css伪类实现鼠标滑过按钮动画效果

解析:

1、这里和示例一其实类似,不过这里是改变伪类的宽度。

2、以此类推,我们可以改变伪类的高度,就可以看到向下扩展的动画了。

<button class="btn-3">按钮三</button>

<style>
...
/* 这里省略上方的公共样式 */
.btn-2:after{
  width0;
  background#f13f84;
  transition: all .3s;
  z-index: -1;
}
.btn-2:hover:after{
  width100%;
}
</style>

如何利用css伪类实现鼠标滑过按钮动画效果

感谢你能够认真阅读完这篇文章,希望小编分享的“如何利用css伪类实现鼠标滑过按钮动画效果”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×