כיצד פועלות דפוסי stroke-dasharray Intelligence Data PlatoBlockchain. חיפוש אנכי. איי.

כיצד פועלות דפוסי stroke-dasharray

נניח שיש לך שורה ב-SVG:

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

אתה יכול להשתמש ב stroke-dasharray נכס ב-CSS כדי ליצור מקפים:

line {
  stroke-dasharray: 5;
}

כי 5 הערך הוא יחידה יחסית המבוססת על גודל ה-SVG viewBox. נוכל להשתמש בכל אורך CSS, באמת. אבל מה שהוא עושה זה ליצור תבנית של מקפים באורך 5 יחידות עם פערים של 5 יחידות ביניהם.

בינתיים הכל טוב. אנו יכולים להשתמש בשני ערכים כאשר הערך השני קובע בנפרד את אורך הפער:

כעת יש לנו מקפים שהם 5 יחידות ופערים שהם 10. בוא ננסה ערך שלישי:

רואה איך אנחנו יוצרים כאן דפוס? זה הולך:

  • מקף: 5 יחידות
  • פער: 10 יחידות
  • מקף: 15 יחידות

אפשר לחשוב שזה חוזר על עצמו אחרי זה בדיוק באותו קצב. אבל לא! אם זה היה קורה, היו לנו מקפים שיתקלו אחד בשני:

  • מקף: 5 יחידות
  • פער: 10 יחידות
  • מקף: 15 יחידות
  • מקף: 5 יחידות
  • פער: 10 יחידות
  • מקף: 15 יחידות
  • …וכן הלאה.

במקום זאת, stroke-dasharray מתחכם ומשכפל את התבנית אם יש מספר אי זוגי של ערכים אז...

stroke-dasharray: 5 10 15;

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

זו למעשה הסיבה שערך יחיד עובד! מוקדם יותר, הכרזנו על סינגל 5 ערך. זה באמת אותו דבר כמו להגיד stroke-dasharray: 5 5. בלי הערך השני, stroke-dasharray משכפל באופן מרומז את הערך הראשון כדי לקבל דפוס שניתן לחזור עליו. אחרת, זה יהיה רק ​​קו מוצק של מקפים באורך 5 יחידות, אבל ללא פערים ביניהם!

הדפוס תלוי גם בגודל הצורה עצמה. ה-SVG שלנו line הוא 500 יחידות. בואו נגדיר יותר stroke-dasharray ערכים וחבר אותם:

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

אם התבנית פועלת ארבע פעמים (150 יחידות ⨉ 4 איטרציות), יש לנו עסק עם 600 יחידות בסך הכל. 100 יחידות נוספות מנותקות כדי למנוע מהתבנית לעלות על גדותיה.

זה הכל.

🎩 טיפ לכובע ל ריקוד יהושע ל קורא את זה החוצה!

בול זמן:

עוד מ טריקים של CSS