CSSだけで作られたストップウォッチ

Ads

Result

CSSだけで作られたストップウォッチです。実用性を無視した力業のビックリCSSというのではなく、しっかりストップ、リセットも出来るので一応勉強しておこうと思いメモ

とはいえ、フォントは使わずCSSで表示も面倒見てくれていますのでそれなりに長いコードとなってしまっています。

ざっくり種明かしですが、トリック等ではなく、デジタル表示に使う要素7本をCSSで用意して時間に合わせて表示させています

@keyframes top-10 {
	0% {opacity:1;}
	9.999% {opacity:1;}
	10% {opacity:.1;}
	19.999% {opacity:.1;}
	20% {opacity:1;}
	30% {opacity:1;}
	39.999% {opacity:1;}
	40% {opacity:.1;}
	49.999% {opacity:.1;}
	50% {opacity:1;}
	60% {opacity:1;}
	70% {opacity:1;}
	80% {opacity:1;}
	90% {opacity:1;}
	100% {opacity:1;}
}

点灯させるバーはopacity:1;に、非点灯の場合はopacity:.1;とし、時間を計算して設計、という感じっぽい

セパレーターの点滅は単純です

@keyframes flash {
	0% {opacity:1;}
	49.999% {opacity:1;}
	50% {opacity:.1;}
	100% {opacity:.1;}
}

まあ思いつくっちゃ思いつくんですけど実際に実装しようとは思わないですよね・・

素直にJS等を使えばフォントも自由に使えるしコードも少なくて済むし全てにおいて合理的ではあるので、実用性が無いって点はまぁ否定できないんですけど、これはこれで何かの時に参考になるかも

全体のコードはPenをご参照下さい

via

CSS-only chronometer