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

修复或解决IE6中jQuery对话框的工作问题——当对话框包含表单时的主要布局问题

  •  0
  • RaeLehman  · 技术社区  · 17 年前

    我正在使用一个包含表单的jQuery对话框。在ie6中,表单上方有几英寸无法解释的填充。当我从标记中删除表单时,最严重的布局问题就消失了。我尝试过没有主题(默认)、Flora和我的主题滚动器主题,但它们似乎都有同样的问题。

    我尝试过对对话框CSS进行各种调整,但似乎没有任何效果,并且在创建对话框时编写了大量的内联CSS,从而阻止了任何其他样式的应用。

    我尝试过在表单本身上设置css属性,如浮动、消除边距和填充、内联显示等,但只要表单存在,就有额外的间距。有人能找到解决办法吗?我宁愿不破解它,也不愿使用没有表单标签的表单控件。

    谢谢。

    4 回复  |  直到 17 年前
        1
  •  4
  •   Soviut    17 年前

    每当我必须为现有的网站、论坛、小部件等创建CSS主题时。我总是从剥离所有样式表开始,并将每个主要的htmlDOM元素的所有边距和填充标准化为0。当涉及到内联css时,这一点尤为重要。

    您应该尝试删除表单元素本身上的任何内联CSS。然后尝试以下内容:

    form {
        margin: 0;
        padding: 0;
        overflow: hidden;
    }
    

    在IE6中驯服溢出通常可以解决很多利润问题。尝试使用以下样式在所有html元素上临时设置边框,以查看是否有任何先前的元素溢出到表单的空间中。

    * {
        border: solid 1px #FF0000;
    }
    

    如果你看到边界强加在表单上,那么你也应该尝试抑制该元素的溢出。

        2
  •  1
  •   rhild    17 年前

    在更改CSS之前,请确保您的页面具有正确的 doctype.

    如果它没有doctype,浏览器将在 'quirks' 模式和许多事情看起来都不太对劲。

        3
  •  1
  •   Dan    17 年前

    我之前在按钮和无法解释的边距方面也遇到过类似的问题。IE6中有一些元素继承了其父元素的边距。非常奇怪。..

    尝试此修复程序: http://blog.netscraps.com/internet-explorer-bugs/ie6-ie7-margin-inheritance-bug.html

        4
  •  0
  •   tanathos    17 年前

    试试这样的:

    #yourDiv { padding:1.2em; margin-right:2.4em; }
    

    其中#yourDiv是包含标签的div的id(我在输入时遇到了这个问题)。