我正在开发一个网络应用程序......不幸的是它必须与有史以来最糟糕的软件一起工作,是的,即 ie6。
我真的很喜欢CSSdisplay:table
and display:table-cell
属性,但当然它在 ie 中不起作用。
有没有人找到解决这个问题的方法?我一直在寻找,但没有发现任何东西。
条件 CSS、.htc 文件、javascript...什么?
我真的很想避免用浮动和清除来制作所有东西
对不起。没有修复让 IE6 支持 CSSdisplay:table
。在 IE6 中实现这种布局的唯一方法是实际使用<table>
元素。
第一个问题:你真的需要支持IE6吗?如果你可以简单地放弃对它的支持,你就会解决一大堆问题,包括这个问题。目前IE6的全球使用率低于3%,在大多数发达国家甚至更低。
如果您仍然需要支持 IE6,那么您最明显的解决方案就是放弃您对语义标记的自豪感,只使用<table>
tag.
正如@Tom 所描述的,下一个最佳解决方案是使用编写布局display:inline-block;
.
inline-block
允许您将元素定义为块,但仍将它们保留在文本流中(有点像<img>
标签默认工作)。如果将其与固定元素宽度和行周围的 wapper div 结合起来,您可以实现类似于表格的效果,尽管可能很难让它随页面宽度动态扩展。
围绕这个问题的一个大“陷阱”错误是inline-block
仅适用于 IE6/7 中默认样式为display:inline
。换句话说,它适用于<span>
但不适合<div>
。这不是一场灾难,但需要注意一些事情,特别是当您专门询问 IE6 支持时。除此之外,好消息是您应该能够摆脱使用display:inline-block
没有任何其他黑客或解决方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)