html – Internet Explorer 8忽略’display:table-cell’元素的宽度

html – Internet Explorer 8忽略’display:table-cell’元素的宽度,第1张

概述According to quirks mode,互联网浏览器8支持显示属性的表选项,但在这个例子中,它显示非常奇怪的行为 http://jsfiddle.net/e3cUn/3/ 在正常浏览器中,内部图像将被缩放以适应150×150盒而不改变尺寸比(拉伸)。 但在IE8中,外箱(蓝色)也将伸展: 你有没有看到过这样的东西?它似乎与text-align有关:center:删除此属性可解决问题,但我 According to quirks mode,互联网浏览器8支持显示属性的表选项,但在这个例子中,它显示非常奇怪的行为
http://jsfiddle.net/e3cUn/3/

在正常浏览器中,内部图像将被缩放以适应150×150盒而不改变尺寸比(拉伸)。

但在ie8中,外箱(蓝色)也将伸展:

你有没有看到过这样的东西?它似乎与text-align有关:center:删除此属性可解决问题,但我确实需要将图像中心(至少在非IE浏览器中)。

2)如果这不能正确修复,我该如何为IE提供特殊的显示值?我已经在网络上看到了几个例子,比如#display:block;但是它们都只适用于ie7。

编辑我知道<! - [if IE 8]>和类似的命令放在HTML中,但我实际上正在寻找一种在CSS文件中这样做的方法。这样的东西

display: table-cell;    #display: block;

第二行不是一个注释,它会覆盖ie7及以下的以前的值。 (但不是ie8)

谢谢!

解决方法 添加赏金后,我最终通过将CSS定位到ie8来解决这个问题。我已经在使用 Paul Irish’s technique of adding classes to the <html> element使用条件注释:
<!--[if lt IE 7 ]> <HTML > <![endif]--><!--[if IE 7 ]>    <HTML > <![endif]--><!--[if IE 8 ]>    <HTML > <![endif]--><!--[if IE 9 ]>    <HTML > <![endif]--><!--[if (gt IE 9)|!(IE)]><!--> <HTML > <!--<![endif]-->

所以我只需要添加一个额外的CSS规则为IE 8和更低:

.img-container { display: table-cell; }   /* IE9+ and other browsers */.IElt9 .img-container { display: block; } /* ie8 and lower */

再加上techniques for vertically centring images,这给了我很好的跨浏览器解决方案。

总结

以上是内存溢出为你收集整理的html – Internet Explorer 8忽略’display:table-cell’元素宽度全部内容,希望文章能够帮你解决html – Internet Explorer 8忽略’display:table-cell’元素的宽度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存