浏览器之家


IE8使用display:inline-table属性的bug

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。

评论

没安装畅言模块