如果我删除
.box-media-link-container {
float:left;
}
它按预期工作。这有什么好的解释吗?有没有其他的选择float:left? (除了表)
工作实施例(非液浮容器):http://jsfiddle.net/Kju6z/5/
(编辑2:即使不是这种圣杯,在更先进的实施例中 - 这仍然失败,即使没有浮动)。
如果你能5.1(通过http://browserstack.com或类似)运行的Safari浏览器 - 请检查了这一点。我不确定这是什么原因。
.box-media-box .box-media-link {
max-width:75px;
width:auto;
height:auto;
}
.box-media img {
max-width:100%;
height:auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow:hidden;
}
的浮动图像宽度是事先不知道,但图像容器具有最大宽度设定960x75像素(注意,在这种情况下,我不知道该图像是实际上100px的 - 但这只是例子)。
图像本身的最大宽度为100%,高度为自动,因此它具有响应性。
这似乎适用于除Safari浏览器以外的所有浏览器,这个甚至不显示图像。它有时会这样做,这让我觉得这个问题可能是由于图像还没有被加载,而CSS被解释,这可能是什么原因?
查看附件截图,了解它在Safari 5.1中的外观(小黑色边框圈应该包含图像)。它看起来好像图像尚未加载(因为没有设置宽度或高度),但图像从不加载。只有当你去检查元素时,它才会立即弹出,或者在你更改任何一个属性之后。
如果图像尺寸是未知的,因为它是动态生成的内容的一部分,是不是你能够提供尺寸动态呢? – cimmanon
@cimmanon - 不,这些是来自facebook api的结果 - 他们确实有一些图片,他们允许您控制大小,但不是我需要的大小。 – Wesley
仅仅因为FB API没有明确提供图片尺寸,并不意味着您*无法*获取它们(请参阅:http://stackoverflow.com/a/626505/1652962)。 – cimmanon