【问题标题】:IE8, IE7, IE6, height of td is 1px differentIE8、IE7、IE6,td的高度相差1px
【发布时间】:2012-07-09 17:24:59
【问题描述】:
<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。

如何解决?

【问题讨论】:

  • 为什么使用旧的 IE。 IE意味着麻烦:)
  • 专业人士仍需为IE构建。

标签: css internet-explorer html-table


【解决方案1】:

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

This site should give you a quick fix 但可能不是最好的解决方法

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

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

-文章示例- (@JezenThomas Tnx 找到了一篇关于此的好文章Reasons why no to do that

<!--[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; }

【讨论】:

  • 永远不要这样做。 Stefan Burt 链接到 this Paul Irish article,它解释了如何正确操作。
  • @JezenThomas 就像我在回答中所说的那样,可能不是最好的解决方法
【解决方案2】:

您是否使用过浏览器重置?这有助于消除浏览器的不一致。尝试使用 mayer http://meyerweb.com/eric/tools/css/reset/ 或称为 normalize http://necolas.github.com/normalize.css/ 的更新样式,这可以帮助删除因浏览器而异的填充和边距,即使来自同一制造商也是如此。

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

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

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

干杯, 斯蒂芬

【讨论】:

  • 在电子邮件中使用这项技术怎么样?
  • 好点smoothdvd,根据我构建html电子邮件的经验,您不使用浏览器重置,因为您不能依赖电子邮件或Web客户端从文档头部剥离css。一些客户端允许 css,而其他客户端则不允许此链接将向您显示对链接标签的支持。 campaignmonitor.com/css
  • 我唯一一次在页面头部使用 css 是在我重置 hotmail 的值时,但这是在 html 文档头部顶部的样式块中声明的。 加如果你想改变页面中元素的显示需要使用内联样式,在这里您可以删除 css 属性并使用您的声明更改它们,例如行高和字体大小。
猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多