検索

ホームページ  >  に質問  >  本文

親要素が min-height: 100% を設定すると、子要素は高さを継承しません。

<p><code>min-height: 100%;</code> を設定することで、div コンテナが少なくともページの全高を占めるようにする方法を見つけました。ただし、ネストされた div を追加し、<code>height: 100%;</code> を設定すると、コンテナの高さまで拡張されません。この問題を解決する方法はありますか? </p> <p><br /></p> <pre class="brush:css;toolbar:false;">html, body { 高さ: 100%; マージン: 0; } #封じ込め { 最小高さ: 100%; 背景: ピンク; } #containment-shadow-left { 高さ: 100%; 背景: 水色; }</pre> <pre class="brush:html;toolbar:false;"><div id="containment"> <div id="containment-shadow-left"> 「こんにちは世界」 </div> </div></pre> <p><br /></p>
P粉517814372P粉517814372500日前501

全員に返信(2)返信します

  • P粉799885311

    P粉7998853112023-08-22 14:22:28

    親コンテナに height: 1px を追加します。 Chrome、FF、Safariで動作します。

    返事
    0
  • P粉903052556

    P粉9030525562023-08-22 09:01:41

    これは報告された Webkit (chrome/safari) のバグです。最小の高さを持つ親要素の子要素は height 属性を継承できません: https://bugs.webkit.org/show_bug.cgi?id= 26559

    どうやら Firefox も影響を受けるようです (現時点では IE ではテストできません)

    ###可能な解決策:###

    #containment にposition:relative
      を追加
    • #containment-shadow-left にposition:absolute
    • を追加
    • このバグは、内部要素に絶対配置がある場合には発生しません。

    http://jsfiddle.net/xrebB/

    を参照してください。 2014 年 4 月 10 日編集

    #

    私は現在、min-height を持つ親コンテナーとコンテナーの高さを継承する子要素を実際に必要とするプロジェクトに取り組んでいるため、もう少し調査しました。

    まず第一に: 現在のブラウザーの動作が実際にバグであるかどうかは、もはやわかりません。 CSS2.1 仕様には次のように書かれています:

    コンテナに min-height を設定する場合、その高さを 明示的に 指定しているわけではないため、要素は

    auto

    高さを取得する必要があります。これはまさに Webkit や他のすべてのブラウザが行うことです。 2 番目に、私が見つけた解決策:

    コンテナ要素を display:table に設定し、

    height:inherit

    を使用すると、min-height に 100% を指定したように動作します。同じ。そして、さらに重要なことに、子要素を display:table-cell に設定すると、コンテナ要素の高さが 100% 以上であっても完全に継承されます。 完全な CSS: リーリー ###マーク:### リーリー

    http://jsfiddle.net/xrebB/54/

    を参照してください。

    返事
    0
  • キャンセル返事