【发布时间】:2013-09-27 16:24:20
【问题描述】:
我想使用display: inline-table 和display: table-cell,但它不适用于IE7 等旧浏览器,所以我想要display: inline-block 备用。
根据http://afshinm.name/css-fallback-properties-better-cross-browser-compatibility/,可以使用color属性
.me {
color: #ccc;
color: rgba(0, 0, 0, 0.5);
}
然后,我尝试了
#wrapper {
display: inline-block;
display: inline-table;
}
#wrapper > .child {
display: inline-block;
display: table-cell;
}
但是 IE7 会尝试使用display: inline-table、display: table-cell 而不是display: inline-block,即使它们不起作用。
备注
- 我不想在条件 cmets 中使用 JS 或其他样式表来实现这一目标
- 我希望它是有效的 CSS
【问题讨论】:
-
一个有效的 CSS 方法可能只有使用条件 cmets 才能实现。
-
IE7 优雅降级
-
只是一个我没有尝试过的建议,
!important标签有帮助吗?我知道把cursor: hand; cursor: pointer !important;经常做... -
AFAIK,在 IE7 中 display:inline-block 仅适用于像 spans 这样的初始内联元素。所以问题可能不在于浏览器尝试使用不支持的值,而在于它们也不支持回退并最终使用默认显示:块。 Inline-block 可以在 IE7 中模拟,使用 display:inline 和 zoom:1(或任何其他启用 hasLayout 的属性)。
-
@IlyaStreltsyn 哦,我以为我说过但我忘了。在我的情况下,这不是问题,因为默认情况下元素是内联的,所以
inline-block应该可以工作。问题是,由于不支持inline-table和table-cell,元素的行为inline