จะทำให้องค์ประกอบ <svg> ขยายหรือทำสัญญากับคอนเทนเนอร์หลักได้อย่างไร
เป้าหมายคือให้<svg>องค์ประกอบขยายถึงขนาดของคอนเทนเนอร์ระดับบนสุดในกรณีนี้<div>คือไม่ว่าคอนเทนเนอร์นั้นจะใหญ่หรือเล็กเพียงใด รหัส: <style> svg, #container{ height: 100%; width: 100%; } </style> <div id="container"> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" > <rect x="0" y="0" width="100" height="100" /> </svg> </div> วิธีแก้ปัญหาที่พบบ่อยที่สุดสำหรับปัญหานี้คือการตั้งค่าviewBoxแอตทริบิวต์ใน<svg>องค์ประกอบ viewBox="0 0 widthOfContainer heightOfContainer" อย่างไรก็ตามสิ่งนี้ดูเหมือนจะใช้ไม่ได้ในกรณีที่องค์ประกอบภายใน<svg>องค์ประกอบมีความกว้างและ / หรือความสูงที่กำหนดไว้ล่วงหน้า ตัวอย่างเช่น<rect>องค์ประกอบในโค้ดด้านบนมีการกำหนดความกว้างและความสูงไว้อย่างชัดเจน ดังนั้นวิธีแก้ปัญหาที่ชัดเจนคือการใช้% widths และ% height กับองค์ประกอบเหล่านั้นด้วย แต่สิ่งนี้ต้องทำหรือไม่? โดยเฉพาะอย่างยิ่งเนื่องจาก<img src=test.svg >ทำงานได้ดีและขยาย / สัญญาโดยไม่มีปัญหาใด ๆ กับ<rect>ความสูงและความกว้างที่ตั้งไว้อย่างชัดเจน หากองค์ประกอบเช่น<rect>และองค์ประกอบอื่น ๆ เช่นนั้นจะต้องมีความกว้างและความสูงกำหนดไว้เป็นเปอร์เซ็นต์มีวิธีใดบ้างใน …