【问题标题】:strange IE8 css issue奇怪的 IE8 CSS 问题
【发布时间】:2011-11-10 22:53:34
【问题描述】:

我有一个具有这种结构的标题行:

<th...
  <a...
   <span...
     {text}

如果你看附件,你会注意到所有具有这种结构的标题都是对齐的。

好吧,当一个特定的标题被点击为“排序”状态时,结构将是这样的:

<th...
  <a...
   <span...
     <table>
        <tbody>
           <tr>
              <td>
                {text}
              </td>
              <td>
                 <div> //with a background image
              </td>
           </tr>
        </tbody>
     </table>

嗯,在 IE8 中,这个排好序的列不再对齐(请看截图)。

我尝试了很多方法将一些 css 样式(位置:相对等)放到 span 内的表格中以修复 IE8 中的对齐,但我失败了..

这里有没有 css 大师可以提出修复建议?

请注意,我无法更改此结构(它从 ICEfaces 库生成的一些代码),但我可以应用 css 属性(如果我知道在哪里...)。

此外,应用的排序列没有 css 差异(某些特定的重要样式)。只是那个范围内的普通表。

谢谢。

【问题讨论】:

  • 这就是问题所在:它是一个 Intranet 应用程序..

标签: css internet-explorer-8


【解决方案1】:

检查一下vertical-align 属性吧。在这里,从屏幕截图来看,它似乎处于默认模式“基线”。 (不过我不确定它会起到多大作用)

尝试: 东西{ 垂直对齐:顶部; } 或者 : 东西{ 垂直对齐:中间; }

您还可以将所有 th 稍高一些并获得一些填充以对齐内容。我认为问题,总体而言;来自表格内 th 中出现的选择。

【讨论】:

  • 你几乎是对的...我把vertical-align: bottom 放到th 上(如果我把错位的距离加倍)现在它已经解决了,谢谢!
【解决方案2】:

您可以使用 IE 特定的样式表。它们被称为条件样式表。

http://css-tricks.com/132-how-to-create-an-ie-only-stylesheet/

这个想法当然是只为 IE 更改该元素的 CSS(因为它已经在其他浏览器上工作了)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多