代码之家  ›  专栏  ›  技术社区  ›  macleojw

firefox中表周围的<div>边框有问题

  •  1
  • macleojw  · 技术社区  · 15 年前

    我希望此代码在表周围显示边框。它可以在Internet Explorer中使用,但不能在Firefox中使用。在Firefox中,它在表格上方显示一条水平线。如果我加上其他东西,例如 <br /> 在DIV中,边框显示正确。如果移除对齐属性,它也可以工作。
    这种行为的原因是什么?

    <body>  
      <div style="border-style: solid; border-width: 1px;  
        border-color: #A8A8A8; width: 100%">
        <table align="left" cellpadding="0" cellspacing="0" width="100%">
          <tr>
            <td align="center">
              Sample Text<br />
            </td>
          </tr>
        </table>
      </div>
    </body>
    
    2 回复  |  直到 15 年前
        1
  •  6
  •   Quentin    15 年前

    该表使用已弃用的 align 属性。这已被CSS替换 float 属性和具有相同的效果。

    默认情况下,浮动元素不会影响其容器的高度(我相信在IE中没有正确实现此功能,如果doctype触发了quirks模式,这可能会解释呈现中的差异。添加一个触发doctype的标准模式,以避免这一点和浏览器之间的许多其他不一致)。

    这是因为它们的设计目的是达到如所示的效果 http://complexspiral.com/publications/containing-floats/

    http://www.ejeliot.com/blog/59 有很多方法可以使容器扩展到覆盖浮动上下文。我发现溢出:隐藏技术通常是最好的选择。

        2
  •  0
  •   Zoidberg    15 年前

    把这个放在你的标签后面

    <div style="clear:left;"></div>
    

    那会解决的。