CSS过渡 – 两个方向?

前端之家收集整理的这篇文章主要介绍了CSS过渡 – 两个方向?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个粗略的例子,以帮助显示我想要的: http://jsfiddle.net/GVaNv/

我想知道是否还有从左侧进行叠加过渡,但是从右侧离开.

因此,在悬停时,叠加层会像示例中那样进入,但不是向后退到左侧,而是向右转换.

这可能吗? (不一定需要使用转换,我可以通过任何方式进行转换).

解决方法

这是一个不需要更多HTML或JavaScript的简单解决方案:

HTML代码

  1. <div class="Box">
  2. <div class="overlay">
  3. Overlay
  4. </div>
  5. </div>

CSS代码

  1. .Box {
  2. height: 250px;
  3. width: 250px;
  4. background: aqua;
  5. position: relative;
  6. overflow: hidden;
  7. }
  8.  
  9. .overlay {
  10. position: absolute;
  11. background-color: rgba(0,0.5);
  12. width: 100%;
  13. color: white;
  14. padding: 10px;
  15. left: -270px;
  16. margin-left: 520px;
  17. bottom: 0;
  18. transition: left 300ms linear,margin-left 300ms ease-out;
  19. }
  20.  
  21. .Box:hover .overlay {
  22. left: 0;
  23. margin-left: 0;
  24. transition: left 300ms ease-out;
  25. }

这利用了动画的余量.它的工作原理如下:

>使用边距将叠加静止状态设置在元素的右侧(而左边位于元素的左侧).
>悬停时,我们将边距设置为0,没有动画.这允许左侧动画从元素的左侧发生.
>在鼠标移出时,边缘被动画化以在元素的右侧进入其静止状态.

JSFiddle

猜你在找的CSS相关文章