纯css制作钟表(会走动)

本文介绍了如何使用CSS3的动画效果制作一个会走动的钟表,包括HTML结构和CSS样式代码的详细说明,展示了纯CSS实现动态视觉效果的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,效果展示

在这里插入图片描述
2.html代码

<div class="clock">
		<div class="logo">Pigeute</div>
		<div class="line1 line">
			<div class="left">12</div>
			<div class="right">6</div>
		</div>
		<div class="line2 line">
			<div class="left">1</div>
			<div class="right">7</div>
		</div>
		<div class="line3 line">
			<div class="left">2</div>
			<div class="right">8</div>
		</div>
		<div class="line4 line">
			<div class="left">3</div>
			<div class="right fz">9</div>
		</div>
		<div class="line5 line">
			<div class="left fz">4</div>
			<div class="right fz">10</div>
		</div>
		<div class="line6 line">
			<div class="left fz">5</div>
			<div class="right fz">11</div>
		</div>
		<div class="cover"></div>
		<div class="hours"></div>
		<div class="minutes"></div>
		<div class="second"></div>
		<div class="dot"></div>
	</div>

3.样式代码

.clock{
		width: 150px;
		height: 150px;
		background: radial-gradient(circle, white, skyblue,blue); 
		border-radius: 50%;
		margin: 100px auto;
		position: relative;
	}
	.clock>div{
		position: absolute;
	}
	.cover{
		width: 110px;
		height: 110px;
		background: #fff;
		border-radius: 50%;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.line {
		height: 100%;
		width: 2px;
		left: 50%;
		transform: translate(-50%,0);
	}
	.line1 ,.line4 {
		width: 5px;
	}
	.line2 {
		transform: translate(-50%,0) rotate(30deg);
	}
	.line3 {
		transform: translate(-50%,0) rotate(60deg);
	}
	.line4 {
		transform: translate(-50%,0) rotate(90deg);
	}
	.line5 {
		transform: translate(-50%,0) rotate(120deg);
	}
	.line6 {
		transform: translate(-50%,0) rotate(150deg);
	}
	.hours,.minutes,.second {
		left: 50%;
		top: 50%;
		transform:translate(-50%,-100%);
		transform-origin: center bottom; 
		animation-iteration-count: infinite;
		border-top-right-radius:50% ;
		border-top-left-radius:50% 
	}
	.hours {
		width: 5px;
		background: #555;
		height: 52px;
		animation: hour 43200s steps(43200) infinite;
	}
	@keyframes hour {
		from {
			transform: translate(-50%,-100%) rotate(0deg);
		}
		to {
			transform: translate(-50%,-100%) rotate(360deg);
		}
	}
	.minutes {
		width: 3px;
		background: #0000ff;
		height: 43px;
		animation: minute 3600s steps(3600) infinite;
	}
	@keyframes minute {
		from {
			transform: translate(-50%,-100%) rotate(0deg);
		}
		to {
			transform: translate(-50%,-100%) rotate(360deg);
		}
	}
	.second {
		width: 2px;
		background: red;
		height: 37px;
		animation: seconds 60s steps(60) infinite;
	}
	@keyframes seconds {
		from {
			transform: translate(-50%,-100%) rotate(0deg);
		}
		to {
			transform: translate(-50%,-100%) rotate(360deg);
		}
	}
	.dot {
		width: 10px;
		height: 10px;
		background: #a99797;
		border-radius: 50%;
		left: 50%;
		top: 50%;
		transform:translate(-50%,-50%);
	}
	.left {
		top: 0;
		left: -8px;
		position: absolute;
	}
	.right {
		bottom: 0;
		left: -8px;
		position: absolute;
	}
	.fz {
		transform: rotate(180deg);
	}
	.logo {
		position: absolute;
		bottom: 40px;
		left: 50%;
		transform: translate(-50%,0);
		font-size: 12px;
		z-index: 1;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值