使用Twitter Bootstrap 2.0与2.1并使用Isotop指定图像大小

时间:2012-12-18 09:27:29

标签: twitter-bootstrap jquery-isotope twitter-bootstrap-rails

在2.0和2.1之间的Twitter Bootstrap中发生了一些变化,当使用了令人敬畏的Isotope图像库并且要求用户使用$(window).load或$ container.imagesLoaded的替代技术来正确绘制时,它排除了图像大小的简单规范。 (http://isotope.metafizzy.co/docs/help.html)。看到的错误是指定的图像的垂直高度似乎被忽略,图像重叠。更改为等待图像加载的替代形式会导致更糟糕的闪烁和绘制问题。我最终回到了Bootstrap 2.0。

我确认这个问题是在引导程序2.1中引入的。您可以在此处找到引导程序的更改历史记录:https://github.com/twitter/bootstrap/wiki/Changelog

有没有人知道2.1中可能导致这种破坏的变化,以及是否有任何好的解决方法。如上所述,等待图像加载比仅仅放入图像高度和宽度更糟糕,因此这不是真正的解决方法。

1 个答案:

答案 0 :(得分:0)

我在这里发布了答案:https://github.com/twitter/bootstrap/issues/6541

在CSS中内联这个,就像这样: img src =“blah-blah”width = 398 height = 265 style =“width:398px; height:265px”

事实上,我也在不使用width和height属性的情况下测试了Isotope,如下所示: img src =“blah-blah”style =“width:398px; height:265px”

这很好!任何建议,如果最好只指定CSS?

通过使用这个CSS,我能够非常轻松地在没有bootstrap(或bootstrap 2.0)的情况下测试它: img { 宽度:自动; 身高:自动; }

似乎CSS中的宽度和高度会覆盖图像属性,并且在加载图像之前,浏览器不知道要分配多少空间,然后,即使在图像加载后,间距仍然是错了,至少与同位素有关。内联样式确实解决了这个问题。我想我尝试使用常规样式,但这似乎不起作用,但我可能有一个CSS优先级问题。无论如何,由于图像大小是用图像属性布局的,所以放入这一小部分内联CSS是很自然的。我希望我们最终能找到更好的解决方案,因为升级时肯定会影响其他人。

或者至少应记录下这一点,即需要使用内联样式来表示图像的宽度和高度,而不是属性。