html - div 中的表格未在 Opera 中显示

标签 html css html-table opera

我“继承”了一个网站,除此之外,我还负责维护它。然而,最近我注意到,虽然该网站在大多数主要浏览器(FF;IE 7、8、9;Chrome)中表现正常,但在 Opera 中却完全错误。

经过一些调查,我发现问题是 <table> Opera 中的 s 未显示,特别是它们的计算样式包含以下内容:display: none; .这让我觉得很奇怪,因为我已经明确地包含在这个元素的样式中 display: table;这也是默认设置,在链接的样式表中,我看不到任何地方display: none;这可能会导致表格无法显示。

所有其他提到的浏览器都有 display: table;<table> 的计算样式中元素,即使它没有在样式表中明确显示。

下面提供了一个例子。 在 Ubuntu 11.10 和 12.04 64 位下测试。经证实,Windows下效果相同(FF、Chrome、IE显示表格,Opera不显示)。

在使用和不使用 HTTP 服务器(http://localhost/test1.htmlfile:///var/www/test1.html)的情况下进行了测试,两种浏览器都没有区别。

我毫不怀疑问题出在我这边,但我没有想法,我们将不胜感激。如果这是一个微不足道的问题或我(或原始开发人员)对 HTML 或 CSS 的误解,我深表歉意,我主要是一名 PHP 程序员。

我所经历的行为的最短可能示例是:

test1.html

<html>
 <head>
  <title>Test</title>
  <link rel="stylesheet" type="text/css" href="test.css" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 </head>
 <body>
  <div class="menuItem">
   <table class="menuItem"><tr bgcolor="black"><td>ASD</td></tr>
   </table>
  </div>
 </body>
</html>


test.css

.menuItem {
    content:"";
    border: 2px green;
    width: inherit;
    height: 50px;
    background-color: green;
}
table.menuItem {
    content:"";
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
    height: 50px;
    text-align: center;
    display: table;
}

最佳答案

我自己试过了,如果你从两个样式声明中删除 content: "",一切正常。

关于html - div 中的表格未在 Opera 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990737/

相关文章:

html - 横幅和导航菜单之间的额外空间

javascript - 用 Javascript 生成时髦的角色?

php - PHP 中用户已存在或不存在的错误

css - 嵌套的 div 没有填满屏幕

jQuery 查找子复选框

php - 在循环中的 2 个 <tr> 上显示自定义标题

javascript - CSS跨浏览器改变布局

jquery - 带有下一个/上一个按钮的 CSS/jQuery 全屏幻灯片

伪类和伪元素在特异性计算中的 CSS 区别?

javascript - 删除列后使 IE8 重新呈现表格