ホームページ >ウェブフロントエンド >CSSチュートリアル >「max-height: 100%」を持つ子要素が、「max-height」を持つ親要素からオーバーフローするのに、明示的な高さではオーバーフローしないのはなぜですか?

「max-height: 100%」を持つ子要素が、「max-height」を持つ親要素からオーバーフローするのに、明示的な高さではオーバーフローしないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 07:00:14774ブラウズ

Why Does a Child Element with `max-height: 100%` Overflow its Parent with `max-height` but Not with an Explicit Height?

max-height が 100% の子要素のオーバーフロー

この問い合わせでは、予期しない動作: max-height が 100 に設定された子要素を調べます。 % 親も max-height を使用しているにもかかわらず、親コンテナがオーバーフローします。ただし、親に明示的な高さが割り当てられている場合、このオーバーフローは防止されます。

問題の理解

通常、max-height が子のパーセンテージとして指定されている場合、要素では、親の実際の高さのパーセンテージを表します。ただし、親の明示的な高さが指定されていない場合、子の最大高さは未定義になり、親の最大高さを超えることができます。

オーバーフローへの影響

この特定のシナリオでは、親の max-height は 200px ですが、子の max-height は 100% です。親に明示的な高さが指定されていない場合、その実際の高さは未定義のままです。その結果、子の最大高さは計算されず、無限に成長することが可能になります。子のコンテンツ (幅よりも高い高さの画像) は親の最大幅内に収まらないため、下にオーバーフローします。

解決策: 明示的な親の高さ

このオーバーフローを防ぐには、親要素に明示的な高さ (例: 200px) を指定する必要があります。これにより、子の最大高さを計算するための明確な基準点が確立され、親の実際の高さを超えず、最大高さの制約内に収まるようになります。

以上が「max-height: 100%」を持つ子要素が、「max-height」を持つ親要素からオーバーフローするのに、明示的な高さではオーバーフローしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。