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

如何防止在IE6中调整尺寸?

  •  1
  • shsteimer  · 技术社区  · 16 年前

    这是我的标记( live repro ):

    <body>
      <div style="text-align:center">header <input class='datepicker'/></div>
      <table><tr><td>really wide table.....................</td></tr></table>
    </body>
    

    当datepicker被激活时,header div的宽度从屏幕的宽度更改为表的宽度(较大)。这会导致以标题为中心的内容移到新的中心…这非常烦人。

    这发生在IE6中,但不在FF3.5、IE8或IE8兼容模式中。

    将header div的宽度固定到窗口的宽度(而不是内容)的最佳方法是什么?

    注意:可能有一个比datepicker简单得多的例子——可能是一些不涉及jquery的东西——这只是我遇到的触发因素,所以我是这样发布它的。这里是 an example 在不触发此问题的情况下添加一个DOM元素。

    1 回复  |  直到 14 年前
        1
  •  1
  •   shsteimer    16 年前

    容器或CSS指令的简单组合似乎对我不起作用。以下是我最后所做的(我的堆栈中已经有jquery):

    // set the header div's width in px on page load/window resize
    $(window).bind('load resize', function() {
      $('#header').css('width', $(window).width() - 20 /* scrollbars */);
    });
    

    这无疑是一种管道胶带解决方案:它比根本原因更能治疗症状……但它似乎足够有效,我可以继续做更好的事情。

    我相信有一个纯粹的CSS解决方案存在这个问题…如果你有,请张贴它!