ホームページ > ウェブフロントエンド > CSSチュートリアル > Firefox と Opera で「max-width」が「display: table-cell」内の画像を無視するのはなぜですか?

Firefox と Opera で「max-width」が「display: table-cell」内の画像を無視するのはなぜですか?

Linda Hamilton
リリース: 2024-10-27 14:24:29
オリジナル
843 人が閲覧しました

Why Does `max-width` Ignore Images Inside `display: table-cell` in Firefox and Opera?

ブラウザ内での max-width との不一致 表示内: table-cell

特定の状況では、max-width スタイル プロパティが表示内で無視されます。 : Chrome と IE では正しく表示される場合でも、Firefox と Opera ではテーブル セル要素が表示されます。この不一致により、その原因と最も適切な解決策について疑問が生じます。

原因

W3C 仕様によれば、max-width はインライン要素には適用されません。ただし、display: table-cell 内の画像はほとんどのブラウザでブロック状とみなされますが、Firefox と Opera ではインラインとして扱われます。この解釈の違いにより、一貫性のない動作が発生します。

回避策

回避策の 1 つは、display: table-cell ラッパー div を、display: table と を含む別の div 内に配置することです。テーブルレイアウト: 固定。これにより、Firefox と Opera は最大幅ルールを遵守するようになります。

<code class="html"><div style="display: table">
  <div style="display: table-cell; padding: 15px; width: 200px">
    <img src="image.jpg" style="max-width: 100%" />
    <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
    </p>
  </div>
</div></code>
ログイン後にコピー

推奨事項

標準に準拠したアプローチでは、表示内の画像を含むインライン要素で max-width を使用しないようにします: table-cell。代わりに、そのような要素の幅を制御する別の方法を使用してください。

以上がFirefox と Opera で「max-width」が「display: table-cell」内の画像を無視するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート