我有一个奇怪的问题。在当前正在构建的网站上,我们通过jQuery插件Gallerific拥有一个库功能。画廊在模态窗口中打开。我需要的是将图像的最大宽度设置为765px。因此我设置了最大宽度:765px;在我的CSS中。 我知道我不是在IE6工作,但我不在乎。
奇怪的是,当我使用例如1400px宽,兼容性视图中的IE8,Firefox,Chrome,Safari和Opera,都将这个图像缩放到宽度为765px - 但不是IE8! 我无法弄清楚为什么这不起作用。
任何人都知道发生了什么,或者更好,如何修复它?
非常感谢您的回答 - 谢谢!
问候,金
答案 0 :(得分:22)
IE8要求在图像周围放置一个容器,其宽度要么设置为您要查找的最大宽度,要么设置为100%宽度(似乎在绝对定位的div上效果更好)。只要在容器上定义宽度,IE8似乎就很高兴。
对于您的示例,您可以将容器div设置为您要查找的最大宽度,同时将所有图像的max-width属性设置为100%:
.container { width: 765px;}
img { max-width: 100%;}
强制图像不超过发现它们的容器的宽度。
确保声明HTML5 doctype; IE不喜欢XHTML doctypes。
亲切的问候, 拉里
答案 1 :(得分:5)
你已经遇到了IE8的“几乎标准模式”(其设计与IE7一样被破坏)。添加元标记:
<meta http-equiv="X-UA-Compatible" content="IE=8">
或具有相同值的真实HTTP标头字段应使您进入正确的标准模式。请注意,元标记必须出现在任何脚本或样式元素之前才能正常工作。
答案 2 :(得分:0)
我遇到了类似的问题,当你有不同尺寸的图像时,容器解决方案不起作用,如果图像很小,它会在图像的一侧留下很多空间。显然,在IE8中,max-height工作正常,如果可以,我建议使用它。
答案 3 :(得分:0)
如其他响应中所述,您需要在容器中应用宽度以在IE8中解决此问题。对于Galleriffic特定解决方案,您可以添加类似于此的css:
a.thumb img
{
max-width: 160px;
}
/* IE 8 specific bug */
a.thumb
{
width: 160px;
}
答案 4 :(得分:0)
嘿,有一件事你可能想尝试(让我把头撞到墙上),所以要确保你的doctype设置正确。
IE8与HTML5版本一起工作,但如果它是小写,它不会。
http://www.kintek.com.au/blog/ie8-max-width-max-height-and-inline-ie8-css-hacks/
你可以做的很酷的CSS内联黑客攻击特定平台:
宽度:200像素\ 9; / * ie8和更早 / 高度:200像素\ 9; / ie8和更早的* /
答案 5 :(得分:0)
我遇到了与IE 8和9类似的东西,发现我的代码中有一个不同的问题值得一提。
我有一个宽度为100%的div,然后是一个最大宽度为980px的div。
由于某种原因,没有看到最大宽度,并且该980 div内部的一个元素应该向右浮动。
我通过w3代码验证器运行了该页面,它在doctype声明之前发现了一条评论,并说IE将在&#34; quirks&#34;模式。
一旦我在doctype声明下面提出了这个推荐,那么验证者的怪癖就会出现问题。模式警告消失了,IE 8和9中的一切正常。
答案 6 :(得分:-1)
也许Gallerific在飞行中应用了最大宽度?
你试过!important
吗?