houdini api 定义css属性 解决渐变背景无法应用动画及变量在动画中不生效

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
		<style>
			body {
				background-color: black;
			}
			/* houdini api 自定义css属性 */
			/* 解决了渐变背景无法应用动画	 */
			/* 解决了变量在动画中不生效的问题 */
			@property --desc {
				syntax: "<angle>";
				initial-value: 0deg;
				inherits: false;
			}
			.container {
				width: 200px;
				height: 400px;
				display: flex;
				justify-content: center;
				align-items: center;
				margin: 0 auto;
				/* 渐变背景本质上是浏览器绘制的一张图片 ,后面传递的是告诉浏览器的参数 ,在绘制期间开发者是无法干预的
				 ,但是css属性是可以参与绘制过程的 */
				background-image: linear-gradient(
					var(--desc),
					#5ddcff,
					#3c67e3 43%,
					#4e00c2
				);
				animation: rotate 3s linear infinite;
			}
			@keyframes rotate {
				to {
					--desc: 360deg;
				}
			}
			.inner {
				width: 180px;
				height: 380px;
			    background-color: black;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<div class="inner"></div>
		</div>
	</body>
</html>

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值