【发布时间】:2012-10-23 16:28:59
【问题描述】:
我想为select 元素着色(即突出显示为错误),但不是它的option 标签。在 FF 中,我通过将样式应用于 select 元素并将另一种样式应用于 option 标记来实现此目的。以下是样式:
.highlight{
background-color: #FB6F6E;
}
.highlight > option{
background: #dfdfdf;
}
这在 FF (16.0.1) 中看起来如我所愿,
但在 IE8(怪癖模式)中,所有选项都是彩色的:
那么有没有办法在 IE8 中实现这一点?
编辑 我最好使用不涉及为option 标签提供类或使用javascript 的东西。我知道这些解决方案有效,但感觉有点像黑客。也许 DOCTYPE 问题解决了问题,我只是想知道添加 DOCTYPE 是否会改变当前的设计。
编辑 正如你们中的一些人所建议的,我添加了一个 DOCTYPE(HTML 4.01 过渡)。 IE8 仍处于 quirks 模式,但选择框的呈现方式略有不同:
选择的边框是红色的,但仍然不是整个选择框。有什么想法吗?
【问题讨论】:
-
@Clyde Lobo:不,我没有使用 DOCTYPE。
-
那么你需要开始使用一个DOCTYPE。它使 IE 的行为更具可预测性。
-
在这种情况下,不可能。您必须强制它进入标准模式才能使其工作。
-
@Robert K:但是我需要检查我的所有页面以正确呈现。由于一切都已完成以在怪癖模式下工作。还是不需要检查/测试?
-
它使浏览器尽可能接近标准地呈现网页。这确保了不同浏览器之间的更高一致性。如果 IE 呈现的东西与其他浏览器非常不同,这通常是怪癖模式的结果。
标签: html css firefox internet-explorer-8 css-selectors