Html IE6 CSS显示:表修复?

Html IE6 CSS显示:表修复?,html,css,layout,internet-explorer-6,Html,Css,Layout,Internet Explorer 6,我正在开发一个web应用程序。。。不幸的是,它必须使用有史以来最糟糕的软件,是的ie6 我非常喜欢CSSdisplay:table和display:table cell属性,但当然它在ie中不起作用 有人找到了解决方法吗?我一直在找,但什么也没找到。 有条件的CSS、.htc文件、javascript……有什么吗? 我真的希望避免使用浮点和清除来生成所有内容,IE不支持display:table和display:table单元格,但IE7及以下版本确实支持display:inline块。实现此功


我正在开发一个web应用程序。。。不幸的是,它必须使用有史以来最糟糕的软件,是的ie6

我非常喜欢CSS
display:table
display:table cell
属性,但当然它在ie中不起作用

有人找到了解决方法吗?我一直在找,但什么也没找到。
有条件的CSS、.htc文件、javascript……有什么吗?

我真的希望避免使用浮点和清除来生成所有内容,IE不支持display:table和display:table单元格,但IE7及以下版本确实支持display:inline块。实现此功能的常用方法是执行以下操作:

display:-moz-inline-stack;
display:inline-block;
zoom:1;
*display:inline;
请记住,CSS为您提供了很多定位功能,并且在您希望布局外观的某些上下文中,我可能会为您提供更好的解决方案

由于误解,请允许我澄清上述代码。 显示:-moz内联堆栈;为旧版本的Firefox声明。 缩放:1;IE有一个属性叫做,这是一种触发它的方法。 *display:inline被称为*property hack,用于对所有非IE浏览器隐藏此行

zoom:1和*display:inline有效地允许块级元素的行为类似于内联元素(这样内联块将在IE6+中工作)

有关更多信息,请阅读:


  • 对不起。没有修复程序使IE6支持CSS
    display:table
    。在IE6中实现此布局的唯一方法是实际使用
    元素

    第一个问题:你真的需要支持IE6吗?如果你能简单地放弃对它的支持,你将解决自己一大堆的问题,包括这个问题。目前全球IE6的使用率低于3%,在大多数发达国家甚至更低

    如果您仍然需要支持IE6,那么最明显的解决方案就是吞下您的语义标记自豪感,只使用
    标记

    正如@Tom所描述的,下一个最好的解决方案是使用
    display:inline block

    inline block
    允许您将元素定义为块,但仍将它们保留在文本流中(有点像
    标记默认的工作方式)。如果将其与固定的元素宽度和行周围的wapper div相结合,则可以获得类似于表的内容,尽管很难使其随页面宽度动态扩展


    关于这一点的一个大“问题”是,
    inline block
    仅在IE6/7中适用于默认样式为
    display:inline
    的元素。换句话说,它适用于
    ,但不适用于
    。这不是一场灾难,但需要注意的是,特别是在您特别询问IE6支持的情况下。除此之外,好消息是您应该能够使用
    display:inline block
    ,而无需任何其他破解或解决方法。

    可能使用CSS pie?这是用于布局,还是实际的表格数据,只需放入
    和相关元素就可以了?布局,我说的是CSS属性显示:表格,而不是html表格我发现了这个,它看起来很棒。很多东西都修好了,但我找不到我要找的房子。有人试过这个脚本吗?似乎没有解决办法:一个很好的一般性答案,但具体的建议有些过时了<代码>-moz内联堆栈
    是不必要的,除非您需要支持低于v2的Firefox,这意味着您确实不需要它。您不需要
    *显示:内联任意一个,因为它覆盖了IE6中的
    内联块
    。IE6/7确实支持
    内联块
    (尽管有一些“gotcha”bug);
    *显示:inline
    仅用于支持IE5.5。对于各种IE问题,
    zoom:1
    是一个常见的错误修复,但对
    内联块
    没有任何影响,所以我不知道为什么在这里提到它。注意:默认情况下内联的元素支持内联块。它在IE6中不能作为div在块元素上工作。@Spudley如果需要IE6支持,那么我就假设也需要Firefox的旧版本。@Spudley“您不需要*display:inline;或者,因为这在IE6中覆盖了内联块。”这是非常不正确的陈述。不幸的是,我必须支持ie,而不是我的决定。。。就我个人而言,我会毫不犹豫地放弃它。。。第二件事,我不认为你的统计数字是正确的,几年前,即大约50%。。。我真的不认为它跌得这么低。。。不幸的是,仍然有很多人安装了xp,他们不知道什么是浏览器,并且默认使用ie6。。。遗憾的是,关于你的解决方案,考虑到ie对内联的限制,我认为我会坚持使用浮动-block@ZolaKt-IE总体仍在45%左右,但IE6的使用率正在下降。没有一个统计网站能够做到真正的准确,但为了更好地了解总体趋势,我推荐。目前,IE6在全球范围内占4%,在欧洲占1.9%,在北美占2.1%。其他人也有类似的统计数据。但这是武断的;你需要注意网站的使用情况。如果你仍然有足够的IE6用户来支持他们,那么你应该这样做。真的,这是一个成本决定:支持IE6需要多少成本,而你会失去多少用户。谢谢统计数据。总之,一般来说IE6-IE9都是垃圾,需要黑客和补丁才能像其他人一样工作。因此,如果我必须黑客让它工作,我也可以黑客为它IE6@Spudley,喜欢你的评论:“支持IE6需要多少成本,而你会失去多少用户”。这个问题可以/应该适用于很多事情。