欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-03-28 23:06:16
...
本章给大家带来如何用纯css画一个跳动心?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

先给大家看效果图:

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

实现原理:

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

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

分别设置 border-radius;

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

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

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

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

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

为了看起来有立体感,可以设置左边的 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: '';
                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画一个跳动心?(代码实例)的详细内容,更多请关注其它相关文章!