2013-03-01 2 views
1

viewbox를 사용하는 d3.js를 사용하여 SVG를 만듭니다.js에서 작성할 때 SVG viewbox가 무시됩니다.

JS에서 볼 때보기 상자는 here처럼 무시됩니다. 그러나 JS로 생성 된 코드를 HTML로 넣으면 here처럼 viewbox를 사용하여 렌더링합니다.

js에 정의 된 뷰 박스가 무시되는 이유는 무엇입니까? html로 정의 된 뷰 박스는 무시되는 이유는 무엇입니까?

코드 이유는 단순 오타 인 것 같습니다

var svg = d3.select('body') 
.append('svg') 
    .attr("height", 400) 
    .attr("width", 400) 
    .attr("viewbox",'0,0,100,100') 
    .attr('style','border: 1px solid black') 
.append('rect') 
    .attr('x',0) 
    .attr('y',0) 
    .attr('width',100) 
    .attr('height',100) 
    .attr('fill','red'); 

답변

13

SVG의 속성은 대소 문자를 구분합니다. 복수 워드 속성은 낙타 표기법에 정의되어 있습니다

.attr("viewBox",'0,0,100,100') 

자세한 정보는 W3C Specifications

4

을 다음과 같이 - 그것은 viewBox하지 viewbox해야한다. 페이지가로드 될 때 (적어도 Chrome)이 자동으로이를 수정합니다.

+0

우에서 찾을 수 있습니다. 너 맞아. 내가 사양을 읽어야하는 것 같습니다 : http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute – heneryville

관련 문제