0

我有一些 DIV 元素,我想对它们进行翻转效果,但我不知道从哪里开始,或者这是否可以在 CSS 或 jQuery 中实现,甚至根本不知道。

我在下面附上了一张图片:

例子

  1. 正常状态只是一个图像

  2. 在翻转时,我希望叠加层从右到左进行动画处理。

  3. “over”状态是一个三角形(90% 不透明度),上面有一些文字。

关于从哪里开始的任何建议?

4

3 回答 3

3

你当然可以:

HTML:

<div class="img">
    <img src="http://i.stack.imgur.com/TOVE8.jpg" />
    <div class="overlay">
        <span class="bg"></span>
        <span class="txt">Name<br/>Surname</span>
    </div>
</div>

CSS:

.img {overflow: hidden; height: 360px; width: 240px; position: relative;}

.overlay {position: absolute; height: 100%; width: 100%; top: 0; left: 100%;
  -webkit-transition: left 1s ease-out;  
     -moz-transition: left 1s ease-out;
       -o-transition: left 1s ease-out;
          transition: left 1s ease-out;
}

.img:hover .overlay {left: 0;}

.bg {height: 600px; width: 600px; top: 50px; left: 90px;background: #000; position: absolute; display: block;
  -webkit-transform: rotate(34deg);
     -moz-transform: rotate(34deg);
      -ms-transform: rotate(34deg);
       -o-transform: rotate(34deg);
          transform: rotate(34deg); 
}

.txt {color: #fff; font-size: 30px; top: 250px; left: 100px; position: absolute;}

示范

于 2013-06-05T20:54:19.280 回答
1

我会尝试只做CSS:

  • 使信息图像宽度为艺术家的两倍,左侧 50% 透明。
  • 将信息图像隐藏在右侧具有较高 z-index 的 div 下。

CSS:

img.info:hover {
  margin-left: -100px;
  transition: 1s;
}
于 2013-06-05T20:48:50.003 回答
0

看看http://jsfiddle.net/nfZK4/

<div id="container">
<div id="wrapper">
    <div id="image"></div><div id="overlay"></div>
</div> 
</div>

#container{
  width: 300px;
  height: 500px;
  overflow: hidden;
}
#wrapper{
  width: 600px;
  height: 500px;
  position: relative;
}
#image{
  background: lightgreen;
  width: 300px;
  height: 500px;
  display:inline-block;
}
#overlay{
  width: 300px;
  height: 500px;
  background-image: url('http://i.imgur.com/JgBlqTk.png');
  position: absolute;
  top: 0;
  left: 300px;
  transition: all 1s;
}
#container:hover #overlay{
  left:0;
}

最上面的 div 使用溢出隐藏三角形隐藏。当光标悬停在顶部 div 上时,三角形会向内移动。 left:0 和一个过渡以对其进行动画处理。

于 2013-06-05T21:00:58.033 回答