案例1- 跳动的心

一颗正在跳动的心

案例思路演示

再通过添加动画效果以达到完成心形构建目的

环境构建

html 复制代码
<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>跳动的心</title>

    <style>
      /* 初始化页面 */
      html,body{
      width: 100%;
      height: 100%;
      }

      body{
      background-color: pink;
      /* 设置父级元素元素变成了一个弹性容器,直接子元素变成弹性子元素 */
      display: flex;
      /* 定义主轴为水平方向 */
      flex-direction: row;
      /* 子项居中对齐在容器的主轴 */
      justify-content: center;
      /* 子项在容器中垂直居中 */
      align-items: center;
      }
      .heart{
      width: 200px;
      height: 200px;
      background-color: red;
      position: relative;
      }
      .heart .b{
      content:"";
      width: 200px;
      height: 100px;
      background-color: yellow;
      position: absolute;
      left: 0;
      top: -100px;

      }
      .heart .a{
      content:"";
      width: 100px;
      height: 200px;
      background-color: yellow;
      position: absolute;
      left: -100px;
      top: 0;
      }


    </style>

  </head>

  <body>
    <div class="heart">
      <div class="a"></div>
      <div class="b"></div>
    </div>
  </body>
</html>

a 和 b 圆角化

html 复制代码
border-radius: 100px 0 0 100px;

border-radius: 100px 100px 0 0 ;

父容器 旋转45度

html 复制代码
transform: rotate(45deg);

动画效果

html 复制代码
/* 让心跳动起来 */
@keyframes heartbit{
  0%{
    transform: rotate(45deg) scale(0.6);
  }
  100%{
    transform: rotate(45deg) scale(1.4);
  }
}

父容器 实现动画效果
animation: heartbit 1s alternate infinite;

添加阴影效果

html 复制代码
box-shadow: 0 0 30px red;

完成后代码

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>跳动的心</title>
	
	<style>
		/* 初始化页面 */
			html,body{
				width: 100%;
				height: 100%;
			}
		
			body{
				background-color: pink;
				/* 设置父级元素元素变成了一个弹性容器,直接子元素变成弹性子元素 */
				display: flex;
				/* 定义主轴为水平方向 */
				flex-direction: row;
				/* 子项在容器中垂直居中 */
				align-items: center;
				/* 子项居中对齐在容器的主轴 */
				justify-content: center;
			}
			.heart{
				width: 200px;
				height: 200px;
				background-color: red;
				position: relative;
				transform: rotate(45deg);
				animation: heartbit 1s alternate infinite;
				box-shadow: 0 0 30px red;
				
			}
			.heart .b{
				width: 200px;
				height: 100px;
				background-color: red;
				position: absolute;
				left: 0;
				top: -99px;
				border-radius: 100px 100px 0 0;
				box-shadow: 0 0 30px red;
				
			}
			.heart .a{
				width: 100px;
				height: 200px;
				background-color: red;
				position: absolute;
				left: -99px;
				top: 0;
				border-radius: 100px 0 0 100px;
				box-shadow: 0 0 30px red;
			}
			
			/* 让心跳动起来 */
			@keyframes heartbit{
				0%{
					transform: rotate(45deg) scale(0.6);
				}
				100%{
					transform: rotate(45deg) scale(1.4);
				}
			}
		
		
	</style>
	
</head>

<body>
	<div class="heart">
		<div class="a"></div>
		<div class="b"></div>
	</div>
</body>
</html>
相关推荐
远离UE48 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience8 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
SensorFlow13 小时前
曝光埋点别放在组件渲染里:连续可见与去重范围怎么验收
javascript
harris148154352975813 小时前
能解码不等于能信任:JWT 的签名到底验的是什么
javascript
liqingdi43713 小时前
[SWPUCTF 2023 秋季新生赛]Easy SMC
服务器·前端·javascript
日耗10亿Token被老板赶出门13 小时前
REA 火了:一个 Electron 按钮的调用链,它能追到哪一步?
javascript·electron
青柠之夏cc14 小时前
Laravel服务容器底层原理揭秘
javascript·rpc·laravel
变与不变80615 小时前
防抖节流详解
开发语言·前端·javascript
用户66026761187915 小时前
HTTP 200,页面仍是旧状态:定位一次前后端字段错配
javascript
用户725264966296915 小时前
浏览器为什么加载不了超大图片
前端·javascript