【问题标题】:Why would ie8 center text when the text-align is set to left?当文本对齐设置为左时,为什么 ie8 会居中文本?
【发布时间】:2016-07-04 16:00:42
【问题描述】:

使用 ie8 自己的开发工具,它将元素 text-align 值显示为左,但在 ie8 标准模式下呈现居中。 在 quirks 或 ie7 标准中,所有内容都正确左对齐。

【问题讨论】:

  • 它在其他浏览器中的外观如何?
  • 最好不要发布图片,而是发布类似 SSCCE 的示例。您(和我们)重现相同问题所需的最少代码量。可以通过复制粘贴、选择它并点击“代码”(该二进制图像)按钮来发布代码。
  • 在我测试过的所有其他浏览器(opera、fx 2-3.5、chrome、safari)中,它正确地继承了应用于表格的类的 text-align:left。该图像只是为了表明 ie8 的开发工具表明它应该左对齐但没有。至于足够的代码来说明它,请参见:pastie.org/685460

标签: html css internet-explorer-8


【解决方案1】:

来自haslayout.net的一个非常优雅的解决方案:

th {
    text-align: inherit;
}

【讨论】:

    【解决方案2】:

    尝试将此添加到您的 head 标签中

    <style>th{text-align: left; font-weight:normal;}</style>
    

    如果您不想在页面上受到此更改影响的其他表格,那么您可以将一个类应用于您的表格并为该表格的元素设置样式。

    ... <table class='work_in_IE'> ...
    
    
    <style type="text/css">.work_in_IE  th{ text-align: left; font-weight:normal;}</style>
    

    【讨论】:

      【解决方案3】:

      text-align 是世袭的。父标签(我认为是 TABLE)是否居中?

      【讨论】:

      • 表格有一个类设置 text-align to left。 不继承这个。
      【解决方案4】:

      IIRC,由于浏览器的内部样式,

      元素仍将居中并加粗文本。这是我最近开始在所有项目中使用 CSS 重置表的一个重要原因。

      【讨论】:

      • 这可能是问题所在。 ie8 不是从 table 标记继承的。我需要特别说明 th 在 ie8 中工作的规则。
      【解决方案5】:

      如果你不能得到答案,你可以试试 th { 浮动:左; } 它对我来说很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-10
        • 2015-10-07
        • 1970-01-01
        • 2016-02-13
        • 1970-01-01
        • 2019-10-01
        • 1970-01-01
        • 2017-10-20
        相关资源
        最近更新 更多