【问题标题】:How to transition an image from right to left [closed]如何从右到左转换图像[关闭]
【发布时间】:2015-08-10 14:38:08
【问题描述】:

我在一行上有 3 张图片,当将鼠标悬停在上面时,它们会移动到中心并变大。前两个图像完美地移动到中心并展开,但第三个图像闪烁并且没有完全进入屏幕中心。我认为这可能是因为所有图像都从左向右移动,但第三张图像需要从右向左移动。我不知道该怎么做......

这是我目前的代码:

        <img class="computers" src="images/shauna.png">
        <img class="computers" src="images/bbb.png" >
        <img class="computers" src="images/cotp.png" >  
        <img class="computers" src="images/chocolate.png" >

和css:

 .computers {
    height:300px;
    width:300px;
    margin:2% 0 0 5%;
    float:left;
    overflow: auto;
    -webkit-transition: all 2s; /* For Safari 3.1 to 6.0 */
    transition: all 2s
 }

.computers:hover {
   width: 570px;
   height: 500px;
   padding: 100px;
}

关于我的意思的一个活生生的例子,看看这里的图片及其运动:example.cadencemag.com

【问题讨论】:

  • :hover 上移动某些内容,使其最后不再悬停可能不是最好的主意。
  • 可以通过在转换回未悬停状态之前设置延迟来抑制效果,因为现在它在悬停和未悬停之间闪烁,因为图像被推到下一行并且超出了鼠标指针的范围。

标签: html css css-transitions transitions


【解决方案1】:

好的,如果我正确理解了您的要求,我改进了我原来的答案 - 这是纯 CSS3 解决方案,适用于所有主要的兄弟和 IE9+。在 codepen 演示中查看这个 - http://codepen.io/anon/pen/YXgLvp

请注意,图像尺寸是缩略图大小的两倍,因此在应用 CSS3 缩放因子 x2 时,它仍然非常清晰。您还可以设置位置,从哪里扩展过渡。

.computers {
    height:200px;
    width:200px;
    margin: 50px 0px 0 100px;
    float:left;
    overflow: hidden;
    -ms-transition: all 0.8s;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
 }

.computers:hover {
  -ms-transform: scale(2,2); /* IE 9 */
  -webkit-transform: scale(2,2); /* Chrome, Safari, Opera */
  transform: scale(2,2); /* all other browsers */
  -ms-transform-origin: 50% 0%; /* IE 9 */
  -webkit-transform-origin: 50% 0%; /* Chrome, Safari, Opera */
  transform-origin: 50% 0%; /* all other browsers */
}

【讨论】:

  • 这并没有真正奏效,因为第三张图像仍在闪烁,而现在第一张图像的右侧被第二张和第三张覆盖了。有点乱。
  • 用 JS 怎么做?
  • 好的,我只用 CSS 做的。看看这个:codepen.io/anon/pen/YXgLvp
  • 这段代码运行良好。非常感谢!!!!!!!
  • 没问题。您可以将答案标记为最合适,以便其他有类似需求的人更容易找到。
猜你喜欢
  • 1970-01-01
  • 2013-05-05
  • 2018-08-29
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 2013-01-05
相关资源
最近更新 更多