2012-03-30 8 views
1

Javascriptなしでこれを行うことはできますか?ここで親divの幅を最小の子供の幅に制限するにはどうすればいいですか?

はモックマークアップ..です

<div id="parent"> 
<div id="child1"> ... </div> 
<div id="child2"> ... </div> 
</div> 

私は、親のdivは、その子のdivの最小の幅を持っていると思います。

私の特定のシナリオdivの1つに可変幅の画像があります divの残りの部分をimg divの幅に制限します。

+0

これはjavascriptなしでは可能かどうかはわかりません。それを使用したくない理由はありますか? – Luke

+0

イメージのサイズが最小に設定されていないことがわかっている場合は??あなたはそれが動的であることを望むなら、あなたはJavaScriptの問題ではありません。 – Baz1nga

+0

私はそれが流動的であるように設計しようとしており、画像はブラウザの幅に基づいて変化する固定の高さを持っています。私はJavaScriptを使用する場合滑らかな移行されることはありません。 – srinathhs

答えて

1

コメントの議論に基づいています。よく、JSが実行されるまで、メインのdivを表示することはできません。次のように あなたのマークアップが表示されます:

<div id="parent" style="diplay:none"> 
<div class="child" style="width:100px"> ... </div> 
<div class="child" style="width:50px"> ... </div> 
</div>​ 

のJsコード:

var childELements=document.getElementsByClassName("child"); 
var minWidth=999999; 
for(var i=0;i<childELements.length;i++) 
{ 
var width=childELements[i].getWidth(); 
    if(width<minWidth) 
    { 
     minWidth=width;      
    } 
} 

var parent=document.getElementById("parent"); 
parent.style.width=String(minWidth)+"px"; 
parent.style.display="block"; 

Live ​Demo

+0

メモ、上記のすべての機能がすべてのブラウザでサポートされているかどうかはわかりません。私はそれを呪いました。私はあなたにjquery solnを渡しませんでしたそれに感謝してください):D – Baz1nga

+0

ありがとう、それはjavascriptなしではできないようです、私はあなたの提案として実装されます。 – srinathhs

0
Math.min(parseInt(document.getElementById("child1")), parseInt(document.getElementById("child2"))); 

これを可能にノーCSSソリューション。

関連する問題