考慮下面的代碼段:響應圖像(最大寬度)
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/
問:這是預期的行爲?如果是這樣,可以做些什麼來解決這個問題?
設置父母的width
(即使是基於百分比的寬度)而不是max-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),我很樂意聽到它。 @ pKs的解決方案(顯示:塊;)在IE8/9在這裏失敗:( – 2013-02-06 18:04:36