2013-07-11 44 views
1

我试图在鼠标悬停鼠标时在图像顶部添加叠加层。目前,我已经从顶端进入,并且趋于平静。我试图实现的是将叠加分成两部分,从左上角和右下角开始,然后加入中间。我知道这只是文字很难理解,所以我创建了一个图像。来自角落的CSS叠加层

enter image description here

我已经看到了这样做过,但我不知道它叫什么,或者如何达到的效果。帮助,将不胜感激

+2

你到现在为止尝试过什么?用什么“技术”你想实现它。 CSS? javscript? ...? –

+0

使用JavaScript会很好,但我只尝试过用CSS解决方案。我不知道如何“分裂”覆盖层来自两个方向。 –

回答

2

这里是我的刺吧:http://jsfiddle.net/

的基本想法是,你只是在做this,但与包装元素旋转。这个解决方案显然需要检查兼容性。

这可以在没有​​元素的情况下实现,但需要更多的手动定位元素。

+0

+1解决方案与CSS!尼斯... :) –

+4

我正在研究类似的解决方案,但显然不够快:http://jsfiddle.net/SCFEX/请注意,我为覆盖文本添加了延迟转换,并且没有使用幻灯片的空div,但基本上它是相同的技术... – Pevara

0

这里是一个基本的例子,使用jQuery。

请注意,酷的孩子会用css3做到这一点。

http://jsbin.com/eyilog/1/edit

在这个例子中的div是绝对定位包含元素之外。溢出:隐藏;确保它们不可见。在悬停jquery动画他们的位置回到div的内部,覆盖div的内容。

为了使它对角线只使用透明图像。

$(".text").hover(function() { 
    $(".topleft").animate({top: "+0px"}, 500); 
    $(".bottomright").animate({bottom: "+0px"}, 500); 
}); 


    <div class="text"> 
    <div class="topleft"></div> 
    text 
    <div class="bottomright"></div> 

    </div> 


.text { 
    background-color:red; 
    width:100px; 
    height:100px; 
    margin:auto; 
    overflow:hidden; 
    position:relative; 

} 
div div { 
    background-color:black; 
    height:50px; 
    width:100px; 
    position:absolute; 
} 
.topleft { 
    top:-50px; 
} 
.bottomright { 
    bottom:-50px; 
}