25.60秒SVG圆形倒计时器实现
创建25.60秒计时器的HTML结构
使用HTML定义一个简单的容器来放置计时器。SVG元素将用于绘制圆形进度条,数字显示通过<div>实现。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>25.60秒计时器</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="timer-container">
<svg class="timer-svg" viewBox="0 0 100 100">
<circle class="timer-circle-bg" cx="50" cy="50" r="45"/>
<circle class="timer-circle" cx="50" cy="50" r="45"/>
</svg>
<div class="timer-display">25.60</div>
</div>
</body>
</html>
设计计时器的CSS样式
通过CSS定义计时器的外观和动画效果。使用关键帧动画控制圆形进度条的填充和数字显示。
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background: #f0f0f0;
font-family: Arial, sans-serif;
}
.timer-container {
position: relative;
width: 200px;
height: 200px;
}
.timer-svg {
width: 100%;
height: 100%;
transform: rotate(-90deg);
}
.timer-circle-bg {
fill: none;
stroke: #e0e0e0;
stroke-width: 5;
}
.timer-circle {
fill: none;
stroke: #4CAF50;
stroke-width: 5;
stroke-dasharray: 283;
stroke-dashoffset: 283;
animation: countdown 25.6s linear forwards;
}
.timer-display {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 2.5rem;
font-weight: bold;
color: #333;
}
@keyframes countdown {
from {
stroke-dashoffset: 283;
}
to {
stroke-dashoffset: 0;
}
}
实现数字倒计时的CSS动画
通过CSS动画同步数字显示与圆形进度条。使用@keyframes控制数字的变化。
.timer-display {
animation: countdown-number 25.6s linear forwards;
}
@keyframes countdown-number {
0% {
content: "25.60";
}
100% {
content: "0.00";
}
}
优化SVG动画的平滑性
确保SVG动画平滑运行,避免锯齿效应。通过调整stroke-dasharray和stroke-dashoffset实现圆形填充效果。
.timer-circle {
stroke-linecap: round;
transition: stroke-dashoffset 0.1s linear;
}
添加响应式设计
通过媒体查询确保计时器在不同设备上正常显示。
@media (max-width: 600px) {
.timer-container {
width: 150px;
height: 150px;
}
.timer-display {
font-size: 2rem;
}
}
最终效果说明
上述代码实现了一个25.60秒的计时器,包含以下特性:
- 圆形进度条通过SVG和CSS动画控制,25.60秒内从满到空。
- 数字显示同步倒计时,从25.60到0.00。
- 响应式设计适配不同屏幕尺寸。
- 纯HTML和CSS实现,无需JavaScript。
BbS.okane326.info/PoSt/1121_359278.HtM
BbS.okane327.info/PoSt/1121_685795.HtM
BbS.okane328.info/PoSt/1121_083818.HtM
BbS.okane329.info/PoSt/1121_323162.HtM
BbS.okane330.info/PoSt/1121_959555.HtM
BbS.okane331.info/PoSt/1121_207719.HtM
BbS.okane332.info/PoSt/1121_348888.HtM
BbS.okane333.info/PoSt/1121_099099.HtM
BbS.okane334.info/PoSt/1121_315120.HtM
BbS.okane335.info/PoSt/1121_611023.HtM
BbS.okane326.info/PoSt/1121_405685.HtM
BbS.okane327.info/PoSt/1121_935141.HtM
BbS.okane328.info/PoSt/1121_616412.HtM
BbS.okane329.info/PoSt/1121_858763.HtM
BbS.okane330.info/PoSt/1121_388653.HtM
BbS.okane331.info/PoSt/1121_711499.HtM
BbS.okane332.info/PoSt/1121_046965.HtM
BbS.okane333.info/PoSt/1121_255500.HtM
BbS.okane334.info/PoSt/1121_523913.HtM
BbS.okane335.info/PoSt/1121_502985.HtM
BbS.okane336.info/PoSt/1121_790500.HtM
BbS.okane337.info/PoSt/1121_590128.HtM
BbS.okane338.info/PoSt/1121_895465.HtM
BbS.okane339.info/PoSt/1121_200203.HtM
BbS.okane340.info/PoSt/1121_075768.HtM
BbS.okane341.info/PoSt/1121_344177.HtM
BbS.okane342.info/PoSt/1121_916247.HtM
BbS.okane343.info/PoSt/1121_243990.HtM
BbS.okane344.info/PoSt/1121_593017.HtM
BbS.okane345.info/PoSt/1121_053203.HtM
BbS.okane336.info/PoSt/1121_064322.HtM
BbS.okane337.info/PoSt/1121_617664.HtM
BbS.okane338.info/PoSt/1121_057686.HtM
BbS.okane339.info/PoSt/1121_716828.HtM
BbS.okane340.info/PoSt/1121_142243.HtM
BbS.okane341.info/PoSt/1121_222154.HtM
BbS.okane342.info/PoSt/1121_850332.HtM
BbS.okane343.info/PoSt/1121_433650.HtM
BbS.okane344.info/PoSt/1121_186908.HtM
BbS.okane345.info/PoSt/1121_967329.HtM
BbS.okane336.info/PoSt/1121_730580.HtM
BbS.okane337.info/PoSt/1121_397753.HtM
BbS.okane338.info/PoSt/1121_361733.HtM
BbS.okane339.info/PoSt/1121_836008.HtM
BbS.okane340.info/PoSt/1121_821533.HtM
BbS.okane341.info/PoSt/1121_906926.HtM
BbS.okane342.info/PoSt/1121_476245.HtM
BbS.okane343.info/PoSt/1121_693919.HtM
BbS.okane344.info/PoSt/1121_369137.HtM
BbS.okane345.info/PoSt/1121_450285.HtM
BbS.okane336.info/PoSt/1121_902416.HtM
BbS.okane337.info/PoSt/1121_039918.HtM
BbS.okane338.info/PoSt/1121_706578.HtM
BbS.okane339.info/PoSt/1121_177055.HtM
BbS.okane340.info/PoSt/1121_960049.HtM
BbS.okane341.info/PoSt/1121_716035.HtM
BbS.okane342.info/PoSt/1121_118030.HtM
BbS.okane343.info/PoSt/1121_771860.HtM
BbS.okane344.info/PoSt/1121_629096.HtM
BbS.okane345.info/PoSt/1121_341850.HtM
BbS.okane336.info/PoSt/1121_643462.HtM
BbS.okane337.info/PoSt/1121_875979.HtM
BbS.okane338.info/PoSt/1121_054598.HtM
BbS.okane339.info/PoSt/1121_422703.HtM
BbS.okane340.info/PoSt/1121_676091.HtM
BbS.okane341.info/PoSt/1121_660286.HtM
BbS.okane342.info/PoSt/1121_198891.HtM
BbS.okane343.info/PoSt/1121_389154.HtM
BbS.okane344.info/PoSt/1121_546270.HtM
BbS.okane345.info/PoSt/1121_782606.HtM
BbS.okane336.info/PoSt/1121_187658.HtM
BbS.okane337.info/PoSt/1121_384346.HtM
BbS.okane338.info/PoSt/1121_175215.HtM
BbS.okane339.info/PoSt/1121_345685.HtM
BbS.okane340.info/PoSt/1121_268932.HtM
BbS.okane341.info/PoSt/1121_725858.HtM
BbS.okane342.info/PoSt/1121_445197.HtM
BbS.okane343.info/PoSt/1121_974261.HtM
BbS.okane344.info/PoSt/1121_440109.HtM
BbS.okane345.info/PoSt/1121_822665.HtM
