CSSでのminWidth、minHeightは子要素から親要素には引き継がれない
アドオンレビューいただいた指摘、WebコンソールやFirebugとの競合解消のメモです。
Twitterでこんなことつぶやいたが真っ赤なうそでした。すいません。
単にtabのstack内にinsertしていたcanvasに対してminサイズを指定していなかっただけでした。
昨日fixscrollのfirebugとの競合を調べて分かったこと。tabbrowser内にposition:absoluteでbrowserとcanvasを指定しているため、tabbrowserと同じ階層に追加されるelementのサイズ変換を邪魔してしまう。
最終的な対応
- stack.style.minHeightを設定
- canvasBox.style.minWidth, canvasBox.style.minHeightを設定
今回の対応で必要になったのは、splitterを使って要素の大きさを自由に変えられるようにすること。
現状
試したこと
- canvasに対して、style.minWidthとstyle.minHeightを指定。
->何も変わらず。
- canvasBoxに対して、style.minWidthとstyle.minHeightを指定。
->sidebarのsplitterでサイズ変更できるように
- stackに対して、style.minWidthとstyle.minHeightを指定。
->WebコンソールとFirebugのsplitterでサイズ変更できるように
まとめ
自分がCSSの解釈をできていないことが原因でした。
無職のプログラミング CSSの max-width/min-width/max-height/min-height についてまとめてみたにもあるように、親子間でのwidth,height,min,maxあたりは相互に関係性を持っている。
子要素に指定してやれば親要素はそれを加味してくれると期待していたが、そうではなかった。(親の指定を子が引き継ぐようなオプションはある)親要素に指定する必要あり。とはいえ、splitterからすると完全な親に対して指定している訳ではないのに動作している。tagや属性によっても動作が異なるのではないかという想定。
今日か明日には本対応を入れたバージョンをリリースする予定です。
->12/19にリリースしました。遅れてすいません。