は、次のコードを検討:応答画像(最大幅)
HTML:
<div>
<img src="http://placehold.it/600x150" />
</div>
CSS:
div { max-width: 200px }
img { max-width: 100% }
そのネイティブサイズに関係なく、イメージは決して200ピクセルより大きくなりません。ここまでは順調ですね。ここで
はフィドルです:親要素がある場合は、しかし、 http://jsfiddle.net/PeAAb/そのdisplay
セットtable
へ:
div { max-width: 200px; display: table }
画像は魔法のようにtable
を拡大し、そのネイティブ幅に拡張。ここで
はフィドルです:http://jsfiddle.net/PeAAb/1/
同じことが、実際のテーブルで発生します:http://jsfiddle.net/PeAAb/2/
質問:はこの予想される動作ですか?もしそうなら、この問題を回避するために何ができるでしょうか?
max-width
の代わりに親のwidth
(パーセンテージベースの幅さえも)を設定すると、イメージが正しくボックスに収められますが、解決策ではありません。親が流動的であることが必要です(私はthe sidebar HTML appear after the main content in the source, but with the sidebar being fixed widthを持つことができるように、これをサイトの主要な構造に使用しています)。
また、setting table-layout
to fixed
はno effectと思われます。
私はSharePoint 2010で反応するものを作成しようとしています。これは、物事の周りにネストされたテーブルをラップするという厄介な習慣を持っています。あなたがこれまでの解決策を知っているなら(IE8まで)、私はそれについて知りたいです。 IE8/9の@ pKsのソリューション(display:block;)はここでは失敗します:( –