Hvordan stroke-dasharray-mønstre fungerer PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvordan stroke-dasharray-mønstre fungerer

Si at du har en linje i SVG:

<svg>
  <line x1="0" y1="30" x2="500" y2="30" stroke-color="#f8a100" />
</svg>

Du kan også bruke det stroke-dasharray eiendom i CSS for å lage bindestreker:

line {
  stroke-dasharray: 5;
}

Det 5 verdi er en relativ enhet basert på størrelsen på SVG-ene viewBox. Vi kan bruke hvilken som helst CSS-lengde, egentlig. Men det den gjør er å lage et mønster av streker som er 5 enheter lange med 5 enheter mellomrom.

Så langt så bra. Vi kan bruke to verdier der den andre verdien individuelt setter gaplengden:

Nå har vi bindestreker som er 5 enheter og mellomrom som er 10. La oss prøve en tredje verdi:

Ser du hvordan vi danner et mønster her? Det går:

  • Dash: 5 enheter
  • Avstand: 10 enheter
  • Dash: 15 enheter

Du skulle tro det gjentas etter det i nøyaktig samme takt. Men nei! Hvis det gjorde det, ville vi ha streker som støter på hverandre:

  • Dash: 5 enheter
  • Avstand: 10 enheter
  • Dash: 15 enheter
  • Dash: 5 enheter
  • Avstand: 10 enheter
  • Dash: 15 enheter
  • …og så videre.

I stedet stroke-dasharray blir alt smart og dupliserer mønsteret hvis det er et oddetall verdier Så...

stroke-dasharray: 5 10 15;

/* is the same as */
stroke-dasharray: 5 10 15 5 10 15;

Det er faktisk derfor en enkelt verdi fungerer! Tidligere erklærte vi en singel 5 verdi. Det er egentlig det samme som å si stroke-dasharray: 5 5. Uten den andre verdien, stroke-dasharray implisitt dupliserer den første verdien for å få et repeterbart mønster. Ellers ville det bare være en solid linje med streker som er 5 enheter lange, men ingen mellomrom mellom dem!

Mønsteret avhenger også av størrelsen på selve formen. Vår SVG line er 500 enheter. La oss sette større stroke-dasharray verdier og legg dem sammen:

stroke-dasharray: 10 20 30 40 50; /* 150 units */

Hvis mønsteret kjøres fire ganger (150 enheter ⨉ 4 iterasjoner), har vi å gjøre med totalt 600 enheter. De ytterligere 100 enhetene blir skåret av for å forhindre at mønsteret renner over seg selv.

Det er alt.

🎩 Hattip til Joshua dans forum ringer opp dette!

Tidstempel:

Mer fra CSS triks