0

親divと子divがあります。親divに何もせずに、親divの子のいずれかで次のコードを呼び出すと、次のようになります。

$('.child').height(newHeight);

親divは、子のすべての高さに基づいて新しい高さに準拠します。

ただし、親の高さを次のように設定すると、次のようになります。

$("#parent").height(newParentHeight);

次に、上記と同じ方法で子の高さを変更します。親の高さは、子のすべての高さに基づく新しい高さに一致しません。基本的に、親の高さは、.height()メソッドを介して送信した高さに「ロック」されます。

上記のコードを使用して親の高さを設定した場合でも、親のdivがすべての子の高さに準拠するようにする方法はありますか?

更新1:要求に応じて、親divのCSSは次のとおりです。

#workarea
{
    overflow: hidden;
    border-bottom: 1px solid white;
    border-left: 1px solid grey;
    border-right: 1px solid white;
    background: #ccc;
}
4

4 に答える 4

3

.height()DOM要素のCSSスタイルを直接設定することにより、divの高さを指定したものにロックします。通常のCSSスタイルに戻すには、CSSスタイルの設定を明示的に解除する必要があります。

$('#parent').css('height', '')

于 2012-05-14T16:39:08.003 に答える
2

を使用するのではなく、要素height()にを設定することを試みることができます。min-heightjQueryの場合:

$("#parent").css("minHeight", "100px");

古いブラウザでは問題が発生する可能性があります。

于 2012-05-14T16:40:28.220 に答える
1

.height()要素に明示的な高さを与えます。たぶんあなたの場合.css('minHeight')は助けることができます。(これを行うときは、ブラウザー間の互換性を考慮してください)。

.css('minHeight', newParentHeight);
于 2012-05-14T16:41:14.733 に答える
0

CSSまたはjqueryを使用して親divに高さを設定しないでください。次に、子の高さを設定すると、親の高さが変更されます。

例えば

jQueryCSSメソッドを使用して、高さを子に設定できます。

$('.child').css('height', 'some');

クロスブラウザの問題を解決するには

于 2012-05-14T16:41:00.200 に答える