d3.jsを使用して作成されたSVG内に、テキストを含むdivを含むforeignObjectをテストしています。
css で作成された div の属性が機能するのに、d3.js を使用して適用すると機能しないのはなぜですか?
フィドルを作成しました: http://jsfiddle.net/g6FXY/
jsコードは次のとおりです。
var body = d3.select("body");
var svg = body.append("svg")
.attr("width", '100%')
.attr("height", '100%')
var html = svg.append("foreignObject")
.attr("x", 50)
.attr("y", 25)
.attr("width", 300)
.attr("height", 200)
.append("xhtml:div")
/*.attr set height doesn't. */
/*.attr("overflow-y", "scroll")
.attr("height", "150px") */
.html("<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu enim quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>Donec eu enim quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu enim quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu enim quam.</p>");
そしてCSS:
div {
font: 14px Helvetica Neue;
overflow-y: scroll;
width: 200px;
/* CSS set height works. */
height: 150px;
}
理解できない。これは名前空間のことですか?オブジェクトを検査すると、結果のページから同じ html コードが表示されますが、css を使用するとページはこの値に注意を払い、d3.js を使用すると別の値が選択されます。
私は何が欠けていますか?
目標は、foreignObject にリンク/ドロップできるものとできないもの、およびその理由を理解することです。