不用图片,使用CSS3做出一个跳动的心。
HTML:
<span style="color: #0000ff;"> <span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="box"</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="left"</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="right"</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span></span></span>
首先两个div浮动,左上和右上角变圆:
<span style="color: #800000;"> .box</span>{<span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> 100px</span>; }<span style="color: #800000;"> .left,.right</span>{<span style="color: #ff0000;"> float</span>:<span style="color: #0000ff;"> left</span>; }<span style="color: #800000;"> .box div</span>{<span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;">160px</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 50px 50px 0 0</span>;<span style="color: #ff0000;"> background</span>:<span style="color: #0000ff;"> red</span>; }
变成:
然后让两个div旋转一下,左边的以右下角为旋转点正时针转45度,右边的以左下角为旋转点逆时针转45度,加点阴影:
<span style="color: #800000;">.left</span>{<span style="color: #ff0000;"> transform-origin</span>:<span style="color: #0000ff;"> 100% 100%</span>;<span style="color: #ff0000;"> transform</span>:<span style="color: #0000ff;"> rotate(45deg)</span>;<span style="color: #ff0000;"> box-shadow</span>:<span style="color: #0000ff;"> 8px 10px 10px #888888</span>; }<span style="color: #800000;"> .right</span>{<span style="color: #ff0000;"> transform-origin</span>:<span style="color: #0000ff;"> 0% 100%</span>;<span style="color: #ff0000;"> transform</span>:<span style="color: #0000ff;"> rotate(-45deg)</span>;<span style="color: #ff0000;"> box-shadow</span>:<span style="color: #0000ff;"> -10px -1px 10px #888888</span>; }<br><br>
心形出来了:
让心动起来,加点动画吧:
<span style="color: #800000;"> .box div</span>{<span style="color: #ff0000;"> animation</span>:<span style="color: #0000ff;"> lb 1s cubic-bezier(0.3,0.4,0.3,1) 0s infinite</span>;<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 0px solid red</span>;/*这个不能少*/ }<span style="color: #800000;"> @keyframes lb</span>{<span style="color: #ff0000;"> 0%{ border</span>:<span style="color: #0000ff;"> 10px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 58px 58px 0 0</span>; }<span style="color: #800000;"> 50%</span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 20px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 66px 66px 0 0</span>; }<span style="color: #800000;"> 100%</span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;">0px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 50px 50px 0 0</span>; }<span style="color: #800000;"> }</span>
好了,一颗跳动的心就完成了。
完整CSS:
<span style="color: #800000;"> <style> .box</style></span>{<span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> 100px</span>; }<span style="color: #800000;"> .left,.right</span>{<span style="color: #ff0000;"> float</span>:<span style="color: #0000ff;"> left</span>; }<span style="color: #800000;"> .box div</span>{<span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;">160px</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 50px 50px 0 0</span>;<span style="color: #ff0000;"> background</span>:<span style="color: #0000ff;"> red</span>;<span style="color: #ff0000;"> animation</span>:<span style="color: #0000ff;"> lb 1s cubic-bezier(0.3,0.4,0.3,1) 0s infinite</span>;<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 0px solid red</span>; }<span style="color: #800000;"> .left</span>{<span style="color: #ff0000;"> transform-origin</span>:<span style="color: #0000ff;"> 100% 100%</span>;<span style="color: #ff0000;"> transform</span>:<span style="color: #0000ff;"> rotate(45deg)</span>;<span style="color: #ff0000;"> box-shadow</span>:<span style="color: #0000ff;"> 8px 10px 10px #888888</span>; }<span style="color: #800000;"> @keyframes lb</span>{<span style="color: #ff0000;"> 0%{ border</span>:<span style="color: #0000ff;"> 10px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 58px 58px 0 0</span>; }<span style="color: #800000;"> 50%</span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 20px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 66px 66px 0 0</span>; }<span style="color: #800000;"> 100%</span>{<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;">0px solid red</span>;<span style="color: #ff0000;"> border-radius</span>:<span style="color: #0000ff;"> 50px 50px 0 0</span>; }<span style="color: #800000;"> } .right</span>{<span style="color: #ff0000;"> transform-origin</span>:<span style="color: #0000ff;"> 0% 100%</span>;<span style="color: #ff0000;"> transform</span>:<span style="color: #0000ff;"> rotate(-45deg)</span>;<span style="color: #ff0000;"> box-shadow</span>:<span style="color: #0000ff;"> -10px -1px 10px #888888</span>; }<span style="color: #800000;"> </span>