Mục đích là để <svg>
phần tử mở rộng đến kích thước của vùng chứa mẹ của nó, trong trường hợp này là a <div>
, bất kể vùng chứa đó lớn hay nhỏ.
Mật mã:
<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>
Giải pháp phổ biến nhất cho vấn đề này dường như là thiết lập viewBox
thuộc tính trên <svg>
phần tử.
viewBox="0 0 widthOfContainer heightOfContainer"
Tuy nhiên, điều này dường như không hoạt động trong trường hợp các phần tử bên trong <svg>
phần tử có chiều rộng và / hoặc chiều cao được xác định trước. Ví dụ, <rect>
phần tử, trong đoạn mã trên, có chiều rộng và chiều cao được đặt rõ ràng.
Vì vậy, giải pháp rõ ràng là sử dụng% chiều rộng và% chiều cao trên các phần tử đó. Nhưng điều này thậm chí phải được thực hiện? Đặc biệt, vì <img src=test.svg >
hoạt động tốt và mở rộng / hợp đồng mà không gặp bất kỳ vấn đề nào với <rect>
chiều cao và chiều rộng được thiết lập rõ ràng .
Nếu các phần tử giống <rect>
và các phần tử khác giống nó, phải có chiều rộng và chiều cao của chúng được xác định theo tỷ lệ phần trăm, thì Inkscape có cách nào để đặt nó để tất cả các phần tử trong <svg>
tài liệu sử dụng phần trăm chiều rộng, chiều cao, v.v. thay vì kích thước cố định không ?