2014-04-22 6 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가 있다고 보장 할 수 없습니다.

그러나 자바 스크립트로 viewBox 및 preserveAspectRatio 속성을 조작 할 수는 있습니다.