2011-01-19 14 views
18

mam ten znaczników:Fit <svg> do wielkości <object> pojemnika

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

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

udało mi się zrobić element <object> wypełnić zewnętrzną <div>, ale wewnętrzna plik foo.svg ma swoje własne pomysły, jak duże to jest. Potrzebuję foo.svg (który składa się z elementu <svg>, oczywiście), aby mieć ten sam rozmiar co <object> i <div>.

Odpowiedz

45

To jest odpowiedź (z przykładami) w svg primer.

tl STRESZCZENIE Dr:

  • usunąć 'szerokość' i 'wysokość' atrybutów korzenia SVG i dodać atrybut 'viewBox' o wartości "0 0 WH", gdzie W i H wartości bezwzględne zwykle w szerokości i wysokości atrybutów (zauważ, że procenty i inne jednostki nie są dozwolone w atrybucie viewBox)
+3

Co zrobić, jeśli nie mogę edytować pliku '.svg'? Czy mogę to zrobić z poziomu html? –

+2

@ColonelPanic Można to zrobić za pomocą skryptu, jeśli svg i html są takie same. Oto, jak zacząć: http://stackoverflow.com/questions/14376732/work-with-elements-od-embed-or-object-tag. –

+0

Czy można wymusić zagnieżdżone SVG o własnej szerokości = "300" i wysokości = "200", aby rozciągnąć i wypełnić rodzicielski DIV o wymiarach 700 x 500? – temuri

-1

próby dodania: szerokości! XXXpx ważne; Wysokość: XXXpx! Important;