使用CSS打印效果

3zz*_*zzy 1 css jquery css3

在此输入图像描述

用CSS3(也许是jQuery)可以实现这种效果吗?我尝试了通常的'slideDown'效果,但它甚至不接近这个.有任何想法吗?

Gab*_*oli 9

你可以用CSS过渡来做到这一点..

这个概念是有一个元素height:0overflow:hidden(让我们把它命名为纸架))里面有一个绝对定位的元素(bottom:0)()

这样,当您将纸架元素的高度从0转换到纸张高度时,纸张似乎会滑出.

演示 http://jsfiddle.net/9FfKZ/1/


更新

使打印步骤更明显的一个改进是使用steps(文档)计时功能而不是我的初始演示所具有的线性

演示 http://jsfiddle.net/9FfKZ/4/


Dut*_*432 7

我的想法是这有三个不同的元素.暂时忘记这篇论文吧.只考虑打印机插槽.我会把它分成两个单独的图像.顶部有下半部分.这两张图片应该符合您要纸张送入的位置.绝对定位两个图像,使它们看起来像正常一样.

这里的技巧将在z-index你希望上半部分具有比下半部分更高的z指数,从而使其在z轴上"更接近用户".顶部有一个z-index:9999;,下半部分有一个z-index:9995;

现在,您将要创建一个代表纸张的div.给那个div一个z-index:在顶部和底部图形之间的某个地方,所以给它一个z-index:9997;.将它完全放在顶部图形的后面,然后慢慢向下动画直到它的终点.

工作演示:http://jsfiddle.net/XzVA9/2/


HTML

<img id="top" src="http://s1.postimage.org/txsnx2v9r/imgtop.png" />
<div id="paper">Receipt</div>
<img id="bottom" src="http://s1.postimage.org/3o7lea9cf/imgbot.png" />
Run Code Online (Sandbox Code Playgroud)

CSS

#top{
    position:absolute;
    top:0;
    left:0;
    z-index:9999;
}
#bottom{
    position:absolute;
    top:284px;
    left:0;
    z-index:9995;
}
#paper{
    position:absolute;
    top:204px;
    left:250px;
    z-index:9997;
    width:300px;
    height:50px;
    line-height:50px;
    padding:15px 0;
    background:#fff;
    border:1px solid #999;
    text-align:center;
    font-weight:bold;
    font-size:22pt;
    -webkit-box-shadow: 0 8px 6px -6px black;
       -moz-box-shadow: 0 8px 6px -6px black;
            box-shadow: 0 8px 6px -6px black; 
}
Run Code Online (Sandbox Code Playgroud)

JS

$('#paper').animate({'top':'284px'}, 3000);?
Run Code Online (Sandbox Code Playgroud)

  • 公平地说,你的问题无效.我碰巧很无聊,想看看我是否可以自己编码. (2认同)