Crystallography
CSSAn orthogonal diffraction lattice grid rotates softly around reciprocal space axes with brightening Bragg reflection peaks.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Backgrounds and ambient
- Use cases
- Ambient background
- Industries
- Healthcare and life sciences
- Style
- Technical · light stroke
- Set
- assay
- Tags
- gridrotateloopgeometric
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-assay-crystallography" data-pulsar="assay-crystallography" viewBox="0 0 160 96"><g stroke="currentColor" stroke-width=".8" class="lattice" opacity=".3"><line x1="40" x2="120" y1="20" y2="20"></line><line x1="40" x2="120" y1="48" y2="48"></line><line x1="40" x2="120" y1="76" y2="76"></line><line x1="50" x2="50" y1="12" y2="84"></line><line x1="80" x2="80" y1="12" y2="84"></line><line x1="110" x2="110" y1="12" y2="84"></line></g><g class="reflections"><circle cx="80" cy="48" r="3.5" fill="var(--pulsar-accent, currentColor)" class="rf r1"></circle><circle cx="50" cy="20" r="2.5" fill="currentColor" class="rf r2"></circle><circle cx="110" cy="20" r="2.5" fill="currentColor" class="rf r3"></circle><circle cx="50" cy="76" r="2.5" fill="currentColor" class="rf r4"></circle><circle cx="110" cy="76" r="2.5" fill="currentColor" class="rf r5"></circle></g></svg>
animation.css
.pulsar-assay-crystallography {
display: block;
width: 100%;
height: 100%;
}
.pulsar-assay-crystallography .lattice {
animation: assay-crystallography-spin 4s linear infinite;
transform-origin: 80px 48px;
}
.pulsar-assay-crystallography .rf.r1 {
animation: assay-crystallography-peak 4s ease-in-out infinite;
}
.pulsar-assay-crystallography .rf.r2 {
animation: assay-crystallography-peak 4s ease-in-out infinite -1s;
}
.pulsar-assay-crystallography .rf.r3 {
animation: assay-crystallography-peak 4s ease-in-out infinite -2s;
}
.pulsar-assay-crystallography .rf.r4 {
animation: assay-crystallography-peak 4s ease-in-out infinite -3s;
}
.pulsar-assay-crystallography .rf.r5 {
animation: assay-crystallography-peak 4s ease-in-out infinite;
}
@keyframes assay-crystallography-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(180deg);
}
}
@keyframes assay-crystallography-peak {
0%,
100% {
opacity: 0.2;
transform: scale(0.8);
transform-origin: center;
}
50% {
opacity: 1;
transform: scale(1.3);
transform-origin: center;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-assay-crystallography .lattice,
.pulsar-assay-crystallography .rf.r1,
.pulsar-assay-crystallography .rf.r2,
.pulsar-assay-crystallography .rf.r3,
.pulsar-assay-crystallography .rf.r4,
.pulsar-assay-crystallography .rf.r5 {
animation: none;
transform: none;
opacity: 0.8;
}
}