显示:表格单元格在IE9中不起作用?

时间:2012-08-24 09:42:32

标签: css

我有一张桌子,我正在使用CSS显示属性来改变布局。对于全尺寸浏览器,我使用“块”,对于较小的浏览器,我使用“table-cell”。 它在Firefox,Safari和Chrome中运行良好,但不知何故IE9似乎搞乱了它当然...... 当我使用Firebug等调试页面时,很明显除了IE之外的所有浏览器都会更改display:table-cell to display:block。但IE仍然停留在display:block,即使CSS文件明确指出它应该是table-cell。

IE9中的“table-cell”或任何已知的解决方法是否存在任何已知问题?

编辑: 问题不在于表格单元格,而是表格单元格上的Display:block。

我可以在这里找到我遇到的问题:http://css-tricks.com/examples/ResponsiveTables/responsive.php 在Chrome / Firefox中打开并调整浏览器窗口大小 - 表格响应迅速并变为狭窄的设计。 在IE9中打开并调整大小 - 该表是静态的,不会更改。

EDIT2: 在前面的示例中,响应部分被注释掉用于IE,因为创建者知道它会很混乱。不过,我希望能够创建这种在IE中运行的设计,所以我需要为它做一些变通方法才能使它工作。

这是一个JSFiddle,它显示了当包含reponsive部分时IE9如何弄乱响应表:http://jsfiddle.net/2Mt37/

2 个答案:

答案 0 :(得分:8)

我找到了一个旧帖子的答案,其中@thirtydot写了

  

我将 float:left 应用于东西。它有点工作。

How can I make "display: block" work on a <td> in IE?

正如他所说的那样有点有效...... IE9停止渲染所有东西都很疯狂,但仍然需要做对齐才能让它看起来很好看。 但这个答案已经足够好了,我可以自己解决其他问题......

答案 1 :(得分:6)

X-UA兼容元标记允许网页作者选择应该呈现页面的Internet Explorer版本。

以下是您的选择:

"IE=5"
"IE=EmulateIE7"
"IE=7"
"IE=EmulateIE8"
"IE=8"
"IE=EmulateIE9
"IE=9"
"IE=edge" which tells Internet Explorer to use the highest mode available to that version of IE.

But I recommend you to use this one:

    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

chrome = 1适用于Google的Chrome Frame,它是一个开源浏览器插件。安装了插件的用户可以在浏览器中打开页面时访问Google Chrome的开放式Web技术和快速JavaScript引擎。它增强了您在Internet Explorer中的浏览体验,并使您可以访问最新的HTML5功能以及Google Chrome的性能和安全功能。