首页  >  文章  >  web前端  >  如何用纯css画一个跳动心?(代码实例)

如何用纯css画一个跳动心?(代码实例)

青灯夜游
青灯夜游原创
2018-09-13 16:42:512577浏览

本章给大家带来如何用纯css画一个跳动心?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

先给大家看效果图:

1.jpg

实现原理:

1.可以把这个心分为两部分,两个长方形 ;

2.jpg

分别设置 border-radius;

3.jpg

让两个图形重合后,分别设置transform: rotate(),设置的rotate()值要相反,一个正值,一个负值;

4.jpg

在设置其中一个的 left 值 就成了

5.jpg

为了看起来有立体感,可以设置左边的 box-shadow 阴影 ;

再配合@keyframes,transform属性,实现跳动效果。

代码实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>纯css画一下心</title>
		<style>
			body{
                height: 100%;
                margin: 0;
            }
            .demo{
                width: 1px;
                height: 1px;
                margin: 300px auto;
                position: relative;
                animation: tiaodong .8s linear infinite;
            }
            .demo::before,.demo::after{
                content: &#39;&#39;;
                position: absolute;
                width: 80px;
                height: 120px;
                background-color: red;
                border-radius: 50px 50px 0 0;
            }
           .demo::after{
                left: 28px;
                transform: rotate(45deg);
            }
             .demo::before{
                transform: rotate(-45deg);
                box-shadow: -5px -5px 10px grey;
            }
            @keyframes tiaodong{
                0%{
                    transform: scale(1);
                }
                50%{
                    transform: scale(1.05);
                }
                100%{
                    transform: scale(1);
                }
            }
		</style>
	</head>
	<body>
		<div class="demo"></div>
	</body>
</html>

用的是 after 和 before 伪元素实现的,没有考虑兼容性,在 IE 10 之前就显示不出来了。

可以用 span 元素替换掉 after 和 before 解决掉。

需要加上: -ms-transform 。

若是用 span 元素画的话,需要右边的块设置 z-index 属性。

以上是如何用纯css画一个跳动心?(代码实例)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn