Entropy
CSSA horizontal meter measures password or key strength as blocks fill in from the left and change from dashed to solid.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Data and progress
- Use cases
- Determinate progress, Security and trust
- Industries
- SaaS and software, Security and identity
- Style
- Technical · light stroke
- Set
- credential
- Tags
- barsprogressgeometricminimalui
Companion assets
The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.
Code
animation.svg
<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-credential-entropy" data-pulsar="credential-entropy" viewBox="0 0 160 96"><rect width="96" height="28" x="32" y="34" stroke="currentColor" stroke-width="1.5" opacity=".3" rx="4"></rect><rect width="15" height="16" x="38" y="40" stroke="currentColor" stroke-dasharray="2 2" stroke-width="1.5" class="credential-entropy-b1" rx="2"></rect><rect width="15" height="16" x="56" y="40" stroke="currentColor" stroke-dasharray="2 2" stroke-width="1.5" class="credential-entropy-b2" rx="2"></rect><rect width="15" height="16" x="74" y="40" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" stroke-width="1.5" class="credential-entropy-b3" rx="2"></rect><rect width="15" height="16" x="92" y="40" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" stroke-width="1.5" class="credential-entropy-b4" rx="2"></rect><rect width="15" height="16" x="110" y="40" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" stroke-width="1.5" class="credential-entropy-b5" rx="2"></rect><circle cx="138" cy="48" r="3" fill="var(--pulsar-accent, currentColor)" class="credential-entropy-glow"></circle></svg>
animation.css
.pulsar-credential-entropy {
display: block;
overflow: visible;
}
.pulsar-credential-entropy .credential-entropy-b1 {
animation: credential-entropy-b1-anim 4000ms ease infinite;
}
.pulsar-credential-entropy .credential-entropy-b2 {
animation: credential-entropy-b2-anim 4000ms ease infinite;
}
.pulsar-credential-entropy .credential-entropy-b3 {
animation: credential-entropy-b3-anim 4000ms ease infinite;
}
.pulsar-credential-entropy .credential-entropy-b4 {
animation: credential-entropy-b4-anim 4000ms ease infinite;
}
.pulsar-credential-entropy .credential-entropy-b5 {
animation: credential-entropy-b5-anim 4000ms ease infinite;
}
.pulsar-credential-entropy .credential-entropy-glow {
transform-origin: 138px 48px;
animation: credential-entropy-glow-anim 4000ms ease infinite;
}
@keyframes credential-entropy-b1-anim {
0%,
15% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
25%,
80% {
stroke-dasharray: 0;
fill: currentColor;
fill-opacity: 0.3;
opacity: 1;
}
92%,
100% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
}
@keyframes credential-entropy-b2-anim {
0%,
25% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
35%,
80% {
stroke-dasharray: 0;
fill: currentColor;
fill-opacity: 0.3;
opacity: 1;
}
92%,
100% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
}
@keyframes credential-entropy-b3-anim {
0%,
35% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
45%,
80% {
stroke-dasharray: 0;
fill: var(--pulsar-accent, currentColor);
fill-opacity: 0.25;
opacity: 1;
}
92%,
100% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
}
@keyframes credential-entropy-b4-anim {
0%,
45% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
55%,
80% {
stroke-dasharray: 0;
fill: var(--pulsar-accent, currentColor);
fill-opacity: 0.25;
opacity: 1;
}
92%,
100% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
}
@keyframes credential-entropy-b5-anim {
0%,
55% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
65%,
80% {
stroke-dasharray: 0;
fill: var(--pulsar-accent, currentColor);
fill-opacity: 0.25;
opacity: 1;
}
92%,
100% {
stroke-dasharray: 2 2;
fill: none;
opacity: 0.4;
}
}
@keyframes credential-entropy-glow-anim {
0%,
65% {
transform: scale(0);
opacity: 0;
}
72%,
82% {
transform: scale(1.4);
opacity: 1;
}
92%,
100% {
transform: scale(0);
opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-credential-entropy * {
animation: none !important;
}
}