0
<table width="320" cellspacing="0" cellpadding="0" valign="top" bgcolor="#ffffff" style="border:1px solid #d6d6d6;border-collapse:collapse;">
  <tr>
    <td height="131" valign="bottom" style="padding:0px 8px;">aaa</td>
  </tr>
  <tr><td height="10" style="line-height:1px;">bbb</tr>
  <tr>
    <td height="182" valign="top" style="padding:0px 8px;line-height:1px;">ccc</td>
  </tr>
</table>

在 IE6 和 IE7 中,第一个 td 的高度值正好是 131px,但在 IE8 中它有 132px。

如何解决?

4

2 回答 2

3

这应该为创建不同的 IE 版本提供了可能性

这个网站应该给你一个快速修复但可能不是最好的修复

因为这将为您提供用于不同浏览器的多个 css 文件。

但是您应该使用相同的代码来区分 html 标记的类:

-article axample- (@JezenThomas Tnx 找到了一篇关于这个原因的好文章为什么不这样做

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

 div.foo { color: inherit;}
.ie6 div.foo { color: #ff8000; }
于 2012-07-10T09:02:06.413 回答
3

您是否使用过浏览器重置?这有助于消除浏览器的不一致。尝试使用 mayer http://meyerweb.com/eric/tools/css/reset/或称为 normalize http://necolas.github.com/normalize.css/的新样式,这可以帮助删除与浏览器到浏览器,甚至来自同一制造商。

如果您不知道什么是重置,它是您添加到页面的 css 文件,它只是重置或将一些元素恢复为默认设置,在许多情况下为 0,当所有浏览器中的所有内容都重置时可以开始以更一致的方式重建页面 css。

如果您已经尝试过但失败了,那么您可以在表格中添加一个类,然后使用条件注释来修复表格的高度。Paul Irish 的 html5 样板在文档顶部带有条件语句,这有助于针对同一样式表中的所有不同版本的 IE,因此不需要 IE6、IE7、IE8 样式表。

http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

干杯,斯特凡

于 2012-07-10T09:02:58.463 回答