实现代码如下:
html代码:
XML/HTML Code复制内容到剪贴板
- <p class=’heart3d’>
- <p class=’rib1′></p>
- <p class=’rib2′></p>
- <p class=’rib3′></p>
- <p class=’rib4′></p>
- <p class=’rib5′></p>
- <p class=’rib6′></p>
- <p class=’rib7′></p>
- <p class=’rib8′></p>
- <p class=’rib9′></p>
- <p class=’rib10′></p>
- <p class=’rib11′></p>
- <p class=’rib12′></p>
- <p class=’rib13′></p>
- <p class=’rib14′></p>
- <p class=’rib15′></p>
- <p class=’rib16′></p>
- <p class=’rib17′></p>
- <p class=’rib18′></p>
- <p class=’rib19′></p>
- <p class=’rib20′></p>
- <p class=’rib21′></p>
- <p class=’rib22′></p>
- <p class=’rib23′></p>
- <p class=’rib24′></p>
- <p class=’rib25′></p>
- <p class=’rib26′></p>
- <p class=’rib27′></p>
- <p class=’rib28′></p>
- <p class=’rib29′></p>
- <p class=’rib30′></p>
- <p class=’rib31′></p>
- <p class=’rib32′></p>
- <p class=’rib33′></p>
- <p class=’rib34′></p>
- <p class=’rib35′></p>
- <p class=’rib36′></p>
- </p>
这么多p,主要是构造爱心的线条区域。
CSS代码:
CSS Code复制内容到剪贴板
- .heart3d {
- position: absolute;
- top: 0;
- rightright: 0;
- bottombottom: 0;
- left: 0;
- margin: auto;
- width: 100px;
- height: 160px;
- -webkit-transform-style: preserve-3d;
- transform-style: preserve-3d;
- -webkit-animation: spin 15s infinite linear;
- animation: spin 15s infinite linear;
- }
- .heart3d [class^="rib"] {
- position: absolute;
- width: 100px;
- height: 160px;
- border: solid #f22613;
- border-width: 1px 1px 0 0;
- border-radius: 50% 50% 0 / 40% 50% 0;
- }
- .heart3d [class$="1"] {
- -webkit-transform: rotateY(10deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(10deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="2"] {
- -webkit-transform: rotateY(20deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(20deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="3"] {
- -webkit-transform: rotateY(30deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(30deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="4"] {
- -webkit-transform: rotateY(40deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(40deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="5"] {
- -webkit-transform: rotateY(50deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(50deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="6"] {
- -webkit-transform: rotateY(60deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(60deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="7"] {
- -webkit-transform: rotateY(70deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(70deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="8"] {
- -webkit-transform: rotateY(80deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(80deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="9"] {
- -webkit-transform: rotateY(90deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(90deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="10"] {
- -webkit-transform: rotateY(100deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(100deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="11"] {
- -webkit-transform: rotateY(110deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(110deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="12"] {
- -webkit-transform: rotateY(120deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(120deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="13"] {
- -webkit-transform: rotateY(130deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(130deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="14"] {
- -webkit-transform: rotateY(140deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(140deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="15"] {
- -webkit-transform: rotateY(150deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(150deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="16"] {
- -webkit-transform: rotateY(160deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(160deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="17"] {
- -webkit-transform: rotateY(170deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(170deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="18"] {
- -webkit-transform: rotateY(180deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(180deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="19"] {
- -webkit-transform: rotateY(190deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(190deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="20"] {
- -webkit-transform: rotateY(200deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(200deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="21"] {
- -webkit-transform: rotateY(210deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(210deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="22"] {
- -webkit-transform: rotateY(220deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(220deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="23"] {
- -webkit-transform: rotateY(230deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(230deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="24"] {
- -webkit-transform: rotateY(240deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(240deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="25"] {
- -webkit-transform: rotateY(250deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(250deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="26"] {
- -webkit-transform: rotateY(260deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(260deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="27"] {
- -webkit-transform: rotateY(270deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(270deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="28"] {
- -webkit-transform: rotateY(280deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(280deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="29"] {
- -webkit-transform: rotateY(290deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(290deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="30"] {
- -webkit-transform: rotateY(300deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(300deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="31"] {
- -webkit-transform: rotateY(310deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(310deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="32"] {
- -webkit-transform: rotateY(320deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(320deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="33"] {
- -webkit-transform: rotateY(330deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(330deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="34"] {
- -webkit-transform: rotateY(340deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(340deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="35"] {
- -webkit-transform: rotateY(350deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(350deg) rotateZ(45deg) translateX(30px);
- }
- .heart3d [class$="36"] {
- -webkit-transform: rotateY(360deg) rotateZ(45deg) translateX(30px);
- transform: rotateY(360deg) rotateZ(45deg) translateX(30px);
- }
对这些线条进行渲染,以便其有3D的视觉效果。
然后定义了一组名称为spin的HTML5动画:
CSS Code复制内容到剪贴板
- @-webkit-keyframes spin {
- to {
- -webkit-transform: rotateY(360deg) rotateX(360deg);
- transform: rotateY(360deg) rotateX(360deg);
- }
- }
- @keyframes spin {
- to {
- -webkit-transform: rotateY(360deg) rotateX(360deg);
- transform: rotateY(360deg) rotateX(360deg);
- }
- }
以上就是HTML代码和CSS代码实现的3D爱心动画效果,浪漫的小伙子可以试着学习一下哦,又get一个交友技能,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群