[解決済み] 最大高さ: 100%の子が親をオーバーフローする
2022-04-21 04:51:28
質問
私には予期せぬ動作に見えるのですが、理解しようとしています。
最大高さ100%の要素が、同じく最大高さを使用するコンテナの中にありますが、予期せぬことに、子が親をオーバーフローしています。
テストケース http://jsfiddle.net/bq4Wu/16/
.container {
background: blue;
padding: 10px;
max-height: 200px;
max-width: 200px;
}
img {
display: block;
max-height: 100%;
max-width: 100%;
}
ただし、親の高さが明示的に指定されている場合は、この問題は解決されます。
テストケースです。 http://jsfiddle.net/bq4Wu/17/
.container {
height: 200px;
}
最初の例で、子供が親の最大高さを尊重しない理由を知っている人はいますか?なぜ明示的に高さを指定する必要があるのでしょうか?
解決方法を教えてください。
にパーセンテージを指定した場合
max-height
の高さではなく、親の実際の高さに対するパーセンテージです。
max-height
,
変な話
. についても同様です。
max-width
.
つまり、親に高さを明示的に指定しない場合、子の
max-height
を計算する必要があるため
max-height
は、次のように計算されます。
none
そのため、子供の身長をできるだけ高くすることができます。今子供に作用している他の制約といえば
max-width
画像自体は横幅よりも縦幅が大きいため、コンテナの高さを下方にオーバーフローさせ、縦横比を維持しながら全体としてできるだけ大きくなるようにしています。
を使用する場合 する 親に明示的な高さを指定すると、子はその明示的な高さの最大100%でなければならないことを認識します。これにより、親の高さに拘束されることなく(アスペクト比を維持したまま)表示することができます。
関連
-
[CSSチュートリアル】クールなネオン効果を実現するピュアCSS(デモあり)
-
[CSSチュートリアル】background-positionプロパティのパーセンテージ値の使い方を探る
-
[CSSチュートリアル】カラフルで知的なシャドウ効果を実現するCSS
-
[解決済み] ボディの高さをブラウザの高さの100%にする
-
[解決済み] CSS 100% height と padding/margin の関係
-
[解決済み] Flexboxの子の高さを親の高さの100%にするには?
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?
-
[解決済み】CSSで子DIVの幅を親DIVより広くする方法はありますか?
-
[解決済み】マージンやパディングを親コンテナの高さに対する割合で設定するには?
-
[解決済み】display:flexを使って残りの縦幅をCSSで埋める。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル]CSSで簡単!高周波な異形ボタンを実現する方法
-
[CSSチュートリアル】QQtabBarからCSS命名規則BEMの詳細を見る
-
[CSSチュートリアル】CSS擬似要素::マーカー解説
-
[css3]css3は、背景画像の色を変更するためのさまざまな方法を実現するために
-
[CSSチュートリアル】CSSで炎のエフェクトを記述する方法
-
[CSSチュートリアル】CSSで実現するTikTokのテキストジッター効果例
-
[CSSチュートリアル】擬似要素で実現する中空三角矢印とXアイコンの例
-
[CSSチュートリアル】空間均等性の問題を解決する2つの方法
-
[CSSチュートリアル】SVGを使ったCSSアニメーションでエネルギーフローを表現する
-
[解決済み] CSS 画像サイズ、どのように埋めるために、しかし、ストレッチしない?