2011-01-19 35 views
18

Tôi có dấu sau:Fit <svg> với kích thước của <object> chứa

#widget1 { 
    height:100px; 
    width:200px; 
} 

<div class="widget" id="widget1"> 
    <object data="foo.svg" type="image/svg+xml" /> 
</div> 

tôi quản lý để làm cho các yếu tố <object> lấp đầy bên ngoài <div>, nhưng các tập tin foo.svg bên trong có những ý tưởng riêng của mình như thế nào lớn nó Là. Tôi cần foo.svg (bao gồm một phần tử <svg>, tất nhiên) có cùng kích thước với <object><div>.

Trả lời

45

Điều này được trả lời (có ví dụ) trong số svg primer.

tl; tóm tắt dr:

  • remove 'width' và 'chiều cao' thuộc tính vào thư mục gốc svg, và thêm một thuộc tính 'viewBox' với giá trị "0 0 wh", trong đó w và h là các giá trị tuyệt đối thường được tìm thấy trong thuộc tính chiều rộng và chiều cao (lưu ý rằng phần trăm và các đơn vị khác không được phép trong thuộc tính viewBox)
+3

Nếu tôi không thể chỉnh sửa tệp '.svg' thì sao? Tôi có thể làm điều đó từ html? –

+2

@ColonelPanic Có thể thực hiện với tập lệnh nếu svg và html có cùng nguồn gốc. Dưới đây là cách bắt đầu với điều đó: http://stackoverflow.com/questions/14376732/work-with-elements-from-embed-or-object-tag. –

+0

Có thể ép buộc SVG lồng nhau có chiều rộng riêng = "300" và chiều cao = "200" để kéo dài để lấp đầy DIV là 700x500 không? – temuri

-1

Hãy thử thêm: chiều rộng: XXXpx! chiều cao: XXXpx! Quan trọng;

Các vấn đề liên quan