transition结合:after,:before实现动画
div代码
<div class='div'>
hover
</div>
css代码
.div{
width:200px;
height:100px;
line-height: 100px;
text-align: center;
border-radius: 5px;
background-color: #FEC171;
transition: all 600ms ease;
position: relative;
}
.div:hover{
background-color: #fff;
border-radius: 0;
}
.div:hover:before,.div:hover:after{
width:100%;
transition: all 600ms ease;
background-color: #FEC171;
}
.div:before,.div:after{
position: absolute;
content:'';
top:0;
right:0;
height:2px;
width:0;
transition: all 400ms ease
}
.div:after{
right:inherit;
top:inherit;
left:0;
bottom:0;
}
思路
实现的是一个divhover上去改变背景色,但是显示很单调,而且没有动画的效果
然后这个代码是结合了伪类before跟after来实现before一条线,after一条线
before这条线从右边出来
after这条线从左边出来的这样一个有动画效果的感觉
实现的思路就是用transition的过渡来实现的,当然上面的代码没有做兼容
before跟after的那条线都可以给一个绝对定位然后看起来跟div的border一样的效果
before是用绝对定位在top:0,right:0那里,就是从right:0,width:0到width:100%的一个过渡的效果
after是用绝对定位在top:inherit,right:inherit,bottom:0,left:0那里就是从left:0,width:0到width:100%的一个过渡的效果
恩恩 欢迎补充的哦
下一篇: 分西瓜笑话来了
推荐阅读
-
Vue运用transition实现过渡动画
-
Vue运用transition实现过渡动画
-
vue2.0 中使用transition实现动画效果使用心得
-
Vue Transition实现类原生组件跳转过渡动画的示例
-
用js实现before和after伪类的样式修改的示例代码
-
利用css transition属性实现一个带动画显隐的微信小程序部件
-
利用纯js + transition动画实现移动端web轮播图详解
-
transition结合:after,:before实现动画
-
vue2.0 中使用transition实现动画效果使用心得
-
纯css使用伪元素before和after实现太极图(一个Div)