考虑以下代码片段:
HTML:
<div>
<img src="http://placehold.it/600x150" />
</div>
CSS:
div { max-width: 200px }
img { max-width: 100% }
无论原始大小如何,该图像的宽度永远不会超过200px。到目前为止还不错。
这里是示例代码: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
的值,则可以正确地将图像收缩回其框中,但这不是解决方案。我需要父元素是流动的(我正在将其用于网站的主要结构,以便我可以让边栏HTML出现在主内容后面,但边栏具有固定宽度)。
此外,将table-layout
设置为fixed
似乎在这里没有影响。