2014-04-22 126 views
0

我想在固定大小的塊內顯示svg圖像。我想在圖塊中顯示未失真且儘可能大的圖像。我的問題是圖像是由用戶提供的,所以我不知道它的尺寸。有沒有辦法只用CSS來做到這一點?縮放未知大小的SVG

+0

爲什麼不檢測其尺寸?有一種通過瀏覽器SVG實現獲取任何SVG元素的bBox的方法http://www.w3.org/TR/SVG/types.html#__svg__SVGLocatable__getBBox –

+0

@NicholasKyriakides:我可以這樣做,但我想知道是否有一種方法可以在沒有Javascript的情況下執行。 – Eduardo

+0

這與您要查找的內容有關嗎? http://stackoverflow.com/questions/8919076/how-to-make-a-svg-element-expand-or-contract-to-its-parent-container –

回答

2

不,你不能只使用CSS。告訴瀏覽器如何縮放SVG以填充其父容器的屬性在SVG中定義。有特別四個屬性控制縮放:

  1. width
  2. height
  3. viewBox
  4. preserveAspectRatio

前兩種可以用CSS來覆蓋,但近兩年不能。如果您無法控制SVG,則無法保證它具有viewBox或preserveAspectRatio。

但是,您可以使用Javascript來操作viewBox和preserveAspectRatio屬性。