HTML和CSS3中的2D、3D联合实现动画结果
发布时间:09/01 来源:未知 浏览:
关键词:
虽然我们我们在前端工作中,关于2D、3D动画结果一样来说都用不上,根本上都是用JS或jQ来完成这些动画结果,但是最根基的这些你可否已经健忘了呢?
昨天重温了一下这些东西,顺手写了两个小例子
一、使用css画个心
第一 在HTML中定义一个div,
<div class="heart"></div>
只需要一个p即可,我使用伪元从来画出;
<style> /* 基于父级定位 */ .heart{ position: relative; } /* 使用伪元素画出两个图像,使用图形拼接来造出一个心 */ .heart::after, .heart::before{ content: ""; position: absolute; top: 100px; left: 0; right: 0; margin: auto; width: 50px; height: 80px; background: red; /* borde-radius 有四个值 离别对应四个角,离别对应 左上 右上 右下 左下 */ border-radius: 50px 50px 0 0; /* 扭转元素,两个一起扭转。等下只需要调动一个即可 */ transform: rotate(-45deg); transform-origin: 0 100%; } /* 扭转元素 使它和before伪元素 拼接成一个心 */ .heart::after{ left: -100px; transform: rotate(45deg); transform-origin: 100% 100%; } </style>
通过以上代码我们就得到了一个红红火火的心
二、使用css画一个太极图,并且加上动画 使它主动扭转
和上面画心形 一样 我仍然使用的是伪元从来写的
先定义一个div,取名为 taiji
<div id="taiji"></div>
然后再用伪元素 且看我是怎样把它给造出来,话不多说,直接上代码
<style type="text/css"> #taiji { position: relative; width: 200px; height: 100px; background: white; border-color: black; border-style: solid; border-width: 4px 4px 100px 4px; /*变成圆形*/ border-radius: 50%; margin: 100px auto; /* 定义动画 名称 时长 匀速 无穷轮回播放 */ animation: myfirst 4s linear infinite; } #taiji::before, #taiji::after { content: " "; position: absolute; top: 50%; left: 0; width: 25px; height: 25px; background: white; border: 38px solid black; border-radius: 50%; } #taiji::after { left: 50%; background: black; border-color: white; } /* 定义动画 */ @keyframes myfirst { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } </style>
结果如下:
相关文章引荐:
怎样使用纯CSS实现一头绿猪的结果
css如何实现图片放大?(酷炫特效示例)
以上就是HTML和CSS3中的2D、3D结合实现动画结果的具体内容,更多请关注百分百源码网其它相关文章!