幅/高さのないチャート (または dojox.gfx キャンバス) を作成すると、配置したコンテナーからその寸法を決定するために最善を尽くします。ただし、混乱する可能性があります。
あなたのフィドルの場合、#chart はブロック要素であり、panelContainer の幅の 100% である panelBG からその幅を継承するため、既知の幅を持っています。
#chart div には実際には高さがありません。ブロック要素は、何かを配置する (またはスタイルを追加する) まで高さが 0px であるためです。結果として、(私が思うに) グラフは単純に幅に比例した高さを前提としています。
あなたの CSS には、幅と高さが 90% の #chartDiv ルールがあることがわかります。#chart にするつもりだったと思います。しかし、それは実際には問題を完全に解決したわけではありません!
それを変更したと仮定すると、グラフは幅/高さとして 90%x90% を使用するようになりますが、試してみると、ラベル/軸がまだ正しく配置されていないことがわかります。
タイトル コンテナーを左にフロートさせたので、チャート コンテナーは同じ "行" から開始し、そのコンテンツをタイトル コンテナーの周りに "フロート" させようとします。これにより、軸ラベルがずれて (緑)、実際のグラフ (svg/canvas、ピンク) はタイトル コンテナーの下にドロップされます。
これを修正するには、チャート コンテナに両側のフロートを避けるように指示します。
#chart {
width: 90%;
height: 90%;
clear: both;
}
ただし、何もフロートする必要はありません。また、高さを 90% に設定することが常に理想的であるとは限りません。更新されたフィドルで提案を行いました: http://fiddle.jshell.net/froden/WsrHs/4/。
違いは、タイトル コンテナーが上部にまたがる div であるのに対し、チャート コンテナーは絶対配置されているため、下に残っているスペースを埋めることだけです。その後、panelContainer で幅/高さを設定できます。