css 心形动画 爱心动画

摘要:
DOCTYPEhtml˃充满爱的世界;(function(doc,win){vardocEl=doc.documentElement,resizeEvt='orientationchange'inwindow?

1、PC 爱心动画(预览地址:http://www.yueqingfang.cn/heart/pc.html

css 心形动画 爱心动画第1张

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Red Heart</title>
    <style>html, body {height:100%;
        }
        body {margin:0;padding:0;background:#ffa5a5;background:linear-gradient(to bottom, #ffa5a5 0%,#ffd3d3 100%);
        }
        .chest {width:500px;height:500px;margin:0 auto;position:relative;
        }
        .heart {position:absolute;z-index:2;background:linear-gradient(-90deg, #F50A45 0%, #d5093c 40%);animation:beat 0.7s ease 0s infinite normal;
        }
        .heart.center {background:linear-gradient(-45deg, #B80734 0%, #d5093c 40%);transform:scale(1) rotate(225deg);
        }
        .heart.top {z-index:3;
        }
        .side {top:100px;width:220px;height:220px;border-radius:220px;
        }
        .center {width:210px;height:210px;bottom:100px;left:145px;font-size:0;text-indent:-9999px;
        }
        .left {left:62px;
        }
        .right {right:62px;
        }

        @keyframes beat {0% {
                transform:scale(1) rotate(225deg);box-shadow:0 0 40px #d5093c;
            }
            50% {transform:scale(1.1) rotate(225deg);box-shadow:0 0 70px #d5093c;
            }
            100% {transform:scale(1) rotate(225deg);box-shadow:0 0 40px #d5093c;
            }}
    </style>
</head>
<body>
    <div class="chest">
        <div class="heart left side top"></div>
        <div class="heart center">&hearts;</div>
        <div class="heart right side"></div>
    </div>
</body>
</html>

2、H5 爱心动画(预览地址:http://www.yueqingfang.cn/heart/h5.html

css 心形动画 爱心动画第2张

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"content="initial-scale=1, width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1, user-scalable=no"media="(device-height: 568px)">
    <title>充满爱的世界</title>
    <script>;(function(doc, win) {
            vardocEl =doc.documentElement,
                resizeEvt = 'orientationchange' inwindow ? 'orientationchange': 'resize',
                recalc = function() {
                    varclientWidth =docEl.clientWidth;
                    if(typeof(clientWidth) == 'number' &&clientWidth <= 750) {  //手机端自适应,   基础20
docEl.style.fontSize = 20 *(clientWidth / 375) + 'px';
                    } else if(typeof(clientWidth) == 'number' &&clientWidth > 750) {   //pc端基础为40/2  20 手机端的适配
docEl.style.fontSize = '40' + 'px';
                    }
                };
            if(!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
            doc.addEventListener('DOMContentLoaded', recalc, false);
            recalc();
        })(document, window);
    </script>
    <style>html {background:linear-gradient(to right, #ffa5a5, #fcdbdb) no-repeat;min-height:100%;
        }
        body {max-width:750px;height:100px;margin:0 auto;padding-top:6rem;height:100%;
        }
        .heart {position:relative;width:5rem;height:5rem;margin:0 auto 3.5rem;transform:rotate(135deg);background:linear-gradient(-0deg, #B80734 0%, #d5093c 40%);font-size:0;box-shadow:0 0 40px #d5093c;animation:beat 0.7s ease 0s infinite normal;
        }
        .heart:before {content:"";position:absolute;width:5rem;height:5rem;right:0rem;bottom:-2.5rem;background:linear-gradient(0deg, #F50A45 0%, #d5093c 40%);border-radius:50%;z-index:5;animation:beat-other 0.7s ease 0s infinite normal;
        }
        .heart:after {content:"";position:absolute;width:5rem;height:5rem;left:-2.5rem;top:0;background:linear-gradient(0deg, #F50A45 0%, #d5093c 40%);border-radius:50%;animation:beat-other 0.7s ease 0s infinite normal;
        }
        @keyframes beat-other {0% {
                box-shadow:0 0 40px #d5093c;
            }50% {box-shadow:0 0 70px #d5093c;
            }100% {box-shadow:0 0 40px #d5093c;
            }}

        @keyframes beat {0% {
                transform:scale(1) rotate(135deg);box-shadow:0 0 40px #d5093c;
            }50% {transform:scale(1.1) rotate(135deg);box-shadow:0 0 70px #d5093c;
            }100% {transform:scale(1) rotate(135deg);box-shadow:0 0 40px #d5093c;
            }}
    </style>
    <style>.heart-title {padding:0 0.2rem 0;text-align:center;font-size:1rem;line-height:1.8rem;
        }
    </style>
</head>
<body>
<div class="heart">
    &hearts;
</div>
</body>
</html>

3、其他预览扩展

http://www.yueqingfang.cn/heart/heart.html

免责声明:文章转载自《css 心形动画 爱心动画》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python--matplotlibArcGIS JavaScript API4.8 底图选择的几种方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS 控制滚动条样式

在360浏览器中设置滚动条隐藏样式 以下 可直接实现隐藏功能 1 ::-webkit-scrollbar {/*隐藏滚轮*/ 2   display:none; 3 } 如果要兼容 PC 其他浏览器(Firefox 、IE6、IE8、Google等)设置滚动条隐藏样式,在容器(div)外面再嵌套一层overflow:hidden内部边框宽高限制尺寸和外...

HTML5--(3)过渡+动画+颜色+文本

一.过渡transition transition-property指定属性名称(如width、height、background-color、内外边距)all 所有属性都将获得过渡效果(默认) attr 过渡效果的CSS属性名称列表,列表以逗号分隔 none 没有属性会获得过渡效果 transition-duration过渡时间3s (默认慢快...

H5网页布局+css代码美化

HTML5的结构化标签,对搜索引擎更友好 li 标签对不利于搜索引擎的收录,尽量少用 banner图片一般拥有版权,不需要搜索引擎收录,因此可以使用ul + li <samp></samp>可用于浅色副标题 display:inline-block; 每个导航块存在水平间隙,解决方法是在父元素上添加font-size:0; sub...

UE4_简易AI_基础移动

首先,要给AI一个8方向的基础移动动画, 之前已经做了一个了,就是我们所控制人物的八个方向的移动,直接复制用就行了 就下面这个 做了些调整,首先把 Ai的最大移速改成了600,然后在180处添加了八个方向的走路动画,把跑步的动画移到了360处。 找到之前为AI设置idel的动画蓝图, 删掉,新建一个状态机 把刚刚的弄好的混合空间拖进来, 双击打开...

css grid布局使用

+ display:grid 指定一个容器采用网格布局 ,采用网格布局的区域,称为"容器"(container)。容器内部采用网格定位的子元素,称为"项目"(item)。 一、容器属性 默认情况下 容器元素都是块级元素,但也可以设置成行内元素 display:inline-block Note:设置网格布局后,容器子元素(项目)的float、display...

Web开发中20个很有用的CSS库

来源: 微信公众号文章 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能和特性。每个月都有无数个围绕CSS的工具被开发者发布以简化WEB开发。像CSS库,框架,应用这样的工具能够为开发者做很多事,而且可以使开发者创造出创新立异的WEB应用。 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能...