企业管理系统定制开发今天分享一个HTML企业管理系统定制开发动画的小技巧,完全用CSS企业管理系统定制开发来画一个会动的爱心。动画效用的就是CSS的动画属性,但是爱心图案并不是图片,而是用CSS拼出来的,这个小技巧还是有令人眼前一亮的感觉。
制作,用到css的动画,有比较难的部分都做了注释
先来看一下最终的动态效果图是怎么样的:
下面是代码部分
HTML部分
- 首先在body中建“heart”类,在heart里添加span标签,使用外链CSS样式。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>炫彩爱心</title>
- <!-- 外链css文件 css代码在后面 -->
- <link rel="stylesheet" href="aixin.css">
- </head>
- <body>
- <div class="heart">
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- <span></span>
- </div>
- </body>
- </html>
css部分
友情提示复制记得外联!!!
2.在body里设置图形页面的窗口高度,加上渐变,使用-content: center居中对齐。
- body{
- margin:0;
- /* 图形在页面窗口的高度 */
- height: 100vh;
- display: flex;
- align-items: center;
- justify-content: center;
- /* 渐变背景图 */
- background:radial-gradient(circle at center,#937bda,#000) ;
- }
3.给heart部分增加边框和宽高,在设置display:flex,justify-content: space-betweend的时候,它会把子元素靠边对齐平均分剩余的空间。
- .heart{
- width: 280px;
- height: 220px;
- display: flex;
- justify-content: space-between;
- /* border: 1px solid red; */
- }
4.给添加边框圆角,加上背景颜色、宽度和高度,用相对定位。然后加上动画效果,播放时间间隔1s,无限次播放 。
- .heart span{
- /* 函数方法多次调用的时候好用 */
- --c:plum;
- --h:50%;
- --t:25%;
- background-color: var(--c);
- width: 20px;
- /* 边框圆角 */
- border-radius: 10px;
- position: relative;
- height: var(--h);
- top: var(--t);
- /* 播放间隔1s 无限次播放 infinite */
- animation: beating 1s infinite;
- }
5.使用后代选择器,选择需要设置的span标签,修改每个标签里需要的属性,以达到需要的效果,代码如下:
- /* 后代选择器 第一个span和第九个*/
- .heart span:nth-child(1),
- .heart span:nth-child(9){
- --c:lightcoral;
- --h:80px;
- --t:20px;
- }
- .heart span:nth-child(2),
- .heart span:nth-child(8){
- --c:lightskyblue;
- --h:120px;
- --t:12x;
- }
- .heart span:nth-child(3),
- .heart span:nth-child(7){
- --c:lightgreen;
- --h:160px;
- --t:0px;
- }
- .heart span:nth-child(4),
- .heart span:nth-child(6){
- --c:gold;
- --h:180px;
- --t:16px;
- }
- .heart span:nth-child(5){
- --c:plum;
- --h:180px;
- --t:32px;
- }
6. 给设置完的标签添加动画,0%、30%,60%、70%两个部分,分别设置不同的参数,代码如下图:
- @keyframes beating{
- 0%,30%{
- height: var(--h);
- top: var(--t);
- background-color: var(--c);
- filter: blur(0);
- }
- 60%,70%{
- height: 50%;
- top: 25%;
- background-color: plum;
- /* 模糊 */
- filter: blur(5px);
- }
以下是完整的CSS代码
- body{
- margin:0;
- /* 图形在页面窗口的高度 */
- height: 100vh;
- display: flex;
- align-items: center;
- justify-content: center;
- /* 渐变背景图 */
- background:radial-gradient(circle at center,#937bda,#000) ;
- }
- .heart{
- width: 280px;
- height: 220px;
- display: flex;
- justify-content: space-between;
- /* border: 1px solid red; */
- }
- .heart span{
- /* 函数方法多次调用的时候好用 */
- --c:plum;
- --h:50%;
- --t:25%;
- background-color: var(--c);
- width: 20px;
- /* 边框圆角 */
- border-radius: 10px;
- position: relative;
- height: var(--h);
- top: var(--t);
- /* 播放间隔1s 无限次播放 infinite */
- animation: beating 1s infinite;
- }
- /* 后代选择器 第一个span和第九个*/
- .heart span:nth-child(1),
- .heart span:nth-child(9){
- --c:lightcoral;
- --h:80px;
- --t:20px;
- }
- .heart span:nth-child(2),
- .heart span:nth-child(8){
- --c:lightskyblue;
- --h:120px;
- --t:12x;
- }
- .heart span:nth-child(3),
- .heart span:nth-child(7){
- --c:lightgreen;
- --h:160px;
- --t:0px;
- }
- .heart span:nth-child(4),
- .heart span:nth-child(6){
- --c:gold;
- --h:180px;
- --t:16px;
- }
- .heart span:nth-child(5){
- --c:plum;
- --h:180px;
- --t:32px;
- }
- @keyframes beating{
- 0%,30%{
- height: var(--h);
- top: var(--t);
- background-color: var(--c);
- filter: blur(0);
- }
- 60%,70%{
- height: 50%;
- top: 25%;
- background-color: plum;
- /* 模糊 */
- filter: blur(5px);
- }
- }
上面的代码可以实现一个动态的爱心,不过动态效果并不是无限次重复动的,当打开网页后,爱心大小会收缩和放大, 上面呢就是这个动态效果的代码展示以及画面展示。代码很简单,但是效果却挺好看的。可以发给自己喜欢的人看看。