IE8浏览器中使用display:inline-table属性的bug

添加评论 2010年2月8日

display是咱们设计网页的时候会经常使用的属性,除了inline、block等值以外还有一个不太常用的值display: inline-table。虽然不太实用,但是这是个很好用的css2.0的display的属性值,利用这个值有时候可以完全实现我们所需的效果。在IE8之前这个属性IE浏览器都不能正确的支持,自微软发布IE8以后我们也可以在IE浏览器中使用这个属性了。可是今天在设计网页的时候发现这个东西在IE8浏览器中有一个让人很费解的bug。不过目前还不能证实这是个bug,不过它的确发生在了这里,我试着写了个测试,发现的确有这个问题(在XHTML 1.0 的DTD里出现),如果W3C没有定义其中的内容不可选的话,那这应该是一个IE8的bug。

今天我把我的那个key的js贴了出来,然后我试着选择那段js代码,发现居然不可选,ff跟Chrome都是可以嘀。当时让我相当的费解啊,然后我就试着找博客里的样式表里有没有错误,当时以为是position:absolute引起的错误,不过我删除了所有的absolute的属性,这个问题并没有像我想象的那样得到了解决。

我在浏览我的css文件中发现我的content里有一个display:inline-table,我也不记得当时做这个模板的时候用这个的目的了,于是我很果断的删了它,刷新了一下IE8,发现一切归于正常。

这个不知道算不算bug的东西原来让我的博客文章一直都不可选择啊,我居然这么久才发现,真是让我虚寒了一阵子啊!现在我才发现,有点小杯具啊……

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ie8中的display:inline-table</title>
</head>
<body>
<div style="display: inline-table; background:#565656;padding:10px;">
  试着在ie8下选择一下我,在内容区选择。
</div>
</body>
</html>

虽然IE8离完全支持网页标准还有很多可以做,但是IE8比之前的浏览器版本都更支持业界标准,因IE8采用了国际通用的网页开发标准——W3C标准(World Wide Web Consortium即万维网联盟标准)。如果你还在使用IE6浏览器的话会让WEB开发者得花费更多时间来让网页兼容IE6,加之IE6对网页标准以及CSS3.0的不支持,可能会让更多网页出现错乱。而且google近期也宣布更多的网站服务将取消对IE6的支持。所以我们建议您可以升级IE浏览器到最新版本的IE8。

  1. 2010年2月8日 at 13:15 | #1
    超人A

    我也知道IE6对大家都有好处,网页开发者轻松,我们浏览器速度也更快了。但是如果你们没有升级硬件就升级了软件,那么NT时代的硬件即使跑XP也会很痛苦。如果你们大规模升级了硬件,那么就算是现在最低端的跑win7也会很流畅。如果不是硬件原因,我找不到不升级IE6的理由了。

  2. 2010年2月8日 at 14:24 | #2
    Mr Xiao

    我安装完IE8后打不开,说内存不能为“read”和”written”

  3. 2010年2月9日 at 13:50 | #3
    iefans

    @Mr Xiao
    把IE8浏览器从新注册一下试试看,开始——运行 输渗入渗出cmd 回车在命令提示符下输入 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1,希望能够为你提供帮助,谢谢!

  1. 还没有 trackbacks
订阅评论