รูปแบบ stroke-dasharray ทำงานอย่างไร PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

รูปแบบจังหวะ dashharray ทำงานอย่างไร

สมมติว่าคุณมีสายใน SVG:

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

คุณสามารถใช้ stroke-dasharray คุณสมบัติใน CSS เพื่อสร้างขีดกลาง:

line {
  stroke-dasharray: 5;
}

ที่ 5 ค่าเป็นหน่วยสัมพัทธ์ตามขนาดของ SVG's 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 หน่วยนั้นถูกตัดออกเพื่อป้องกันไม่ให้รูปแบบล้นตัวเอง

นั่นคือทั้งหมด

🎩 ปลายหมวกถึง โจชัวแดนซ์ for เรียกสิ่งนี้ออกมา!

ประทับเวลา:

เพิ่มเติมจาก เคล็ดลับ CSS