Back to CSS Dividers Scientific Dividers Pure CSS
Share
HTML
<div class="div-sci-surface">
  <p class="div-sci-text">Fluorescence microscopy revealed distinct subcellular compartmentalization. Statistical significance was assessed across three independent biological replicates (n=847).</p>
  <div class="div-sci-v1" role="separator">
    <span class="div-sci-ticks"></span>
    <span class="div-sci-rbar"></span>
    <span class="div-sci-rlbl">§ 2.4</span>
  </div>
  <p class="div-sci-text">Protein complex formation was confirmed via co-immunoprecipitation followed by tandem mass spectrometry, with peak thresholds set at 3σ above baseline.</p>
  <div class="div-sci-v2" role="separator">
    <span class="div-sci-dline"></span>
    <span class="div-sci-ddots"><i></i><i></i><i></i><i></i><i></i></span>
  </div>
  <p class="div-sci-text">Temperature-dependent conformational changes were observed across all conditions, with a thermal denaturation midpoint of 68.4°C (±0.7).</p>
  <div class="div-sci-v3" role="separator">
    <span class="div-sci-rule"></span>
    <b>§ 3.1 — RESULTS</b>
    <span class="div-sci-rule"></span>
  </div>
  <p class="div-sci-text">Gene expression profiles were analyzed across 12 developmental timepoints; hierarchical clustering revealed three distinct expression modules.</p>
</div>
CSS
@keyframes div-sci-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes div-sci-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes div-sci-dot  { from { transform: scale(0); } 65% { transform: scale(1.3); } to { transform: scale(1); } }
@keyframes div-sci-flip { from { transform: perspective(300px) rotateX(90deg); opacity: 0; } to { transform: perspective(300px) rotateX(0); opacity: 1; } }
@keyframes div-sci-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0% 0 0); } }
.div-sci-surface {
  background: #f5f7fb;
  padding: 36px 40px;
  border-radius: 12px;
}
.div-sci-text {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.78;
  color: #1e2533;
  margin: 0;
}
/* v1 — measurement ruler with a section marker */
.div-sci-v1 {
  position: relative;
  height: 26px;
  margin: 32px 0;
}
.div-sci-ticks {
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  height: 18px;
  /* major tick every 64px, minor every 16px — pure-CSS ruler */
  background:
    repeating-linear-gradient(to right, #3060b8 0 1.5px, transparent 1.5px 64px),
    repeating-linear-gradient(to right, rgba(48,96,184,0.35) 0 1px, transparent 1px 16px);
  background-size: 100% 18px, 100% 7px;
  background-position: bottom, bottom;
  background-repeat: repeat-x;
  transform-origin: left;
  animation: div-sci-wipe 0.9s cubic-bezier(.16,1,.3,1) both;
}
.div-sci-rbar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1.5px;
  background: #3060b8;
  transform-origin: left;
  animation: div-sci-grow 0.8s cubic-bezier(.16,1,.3,1) 0.56s both;
}
.div-sci-rlbl {
  position: absolute;
  right: 0;
  bottom: 7px;
  font-family: "Courier New", monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #3060b8;
  animation: div-sci-fade 0.4s ease 0.96s both;
}
/* v2 — connection-node line */
.div-sci-v2 {
  position: relative;
  height: 14px;
  margin: 32px 0;
}
.div-sci-dline {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #dde4f0;
  transform-origin: left;
  animation: div-sci-grow 0.6s ease 0.08s both;
}
.div-sci-ddots {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.div-sci-ddots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid #3060b8;
  background: #f5f7fb;
  animation: div-sci-dot 0.4s cubic-bezier(.34,1.56,.64,1) both;
}
.div-sci-ddots i:nth-child(1) { animation-delay: 0.28s; }
.div-sci-ddots i:nth-child(2) { animation-delay: 0.4s; }
.div-sci-ddots i:nth-child(3) { animation-delay: 0.52s; border-color: #c8361a; background: #fff8f6; }
.div-sci-ddots i:nth-child(4) { animation-delay: 0.64s; }
.div-sci-ddots i:nth-child(5) { animation-delay: 0.76s; }
/* v3 — flip-in chapter label */
.div-sci-v3 {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 32px 0;
}
.div-sci-rule {
  flex: 1;
  height: 4px;
  border-top: 1px solid #dde4f0;
  border-bottom: 1px solid #c8d4ec;
  animation: div-sci-grow 0.7s cubic-bezier(.16,1,.3,1) 0.4s both;
}
.div-sci-v3 .div-sci-rule:first-child { transform-origin: right; }
.div-sci-v3 .div-sci-rule:last-child  { transform-origin: left; animation-delay: 0.45s; }
.div-sci-v3 b {
  flex-shrink: 0;
  font-family: "Courier New", monospace;
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.14em;
  color: #3060b8;
  white-space: nowrap;
  animation: div-sci-flip 0.5s cubic-bezier(.34,1.56,.64,1) 0.1s both;
}
@media (prefers-reduced-motion: reduce) {
  .div-sci-ticks, .div-sci-rbar, .div-sci-rlbl, .div-sci-dline,
  .div-sci-ddots i, .div-sci-rule, .div-sci-v3 b { animation: none; }
}