<!DOCTYPE html>
已设置,html5shim.js
已包含在每页的<head>
中。
我有CSS:
.height_fix_container > * { margin:0; background:#fff url(../images/bg.jpg) top left no-repeat; min-height: 400px; }
.height_fix_container > *:first-child { background:#fff; } /*Good eye! But the problem still exists*/
...正在页面中间应用于此代码:
...
<div class="height_fix_container">
<div>Content box 1</div>
<div>Content box 2</div>
</div>
...
在IE7和8以外的每个浏览器中,CSS选择器运行良好。但是,在IE Content box 1
中识别选择器,但Content box 2
完全忽略它。我正在使用IE中内置的开发人员工具进行检查。
为什么会发生这种情况?
答案 0 :(得分:3)
在IE中,您需要声明DOCTYPE才能识别第一个子选择器。
<!DOCTYPE .......>
你也错过了第二类定义中'fff'的#infront。它根本不会影响代码,只是一种语法编辑。
答案 1 :(得分:1)
IE7与:first-child
非常相似,可能会在*
之前窒息。
也许您可以在工作表中添加其他样式:
.height_fix_container > div:first-child { background:#fff; }
未测试
答案 2 :(得分:1)
您的信息页显示在Quirks Mode中。你的描述和CSS让我非常肯定。
最可能的原因是您没有有效的doctype作为第一行。加上这个:
<!DOCTYPE html>
如果你已经有了doctype,还有其他的东西会导致Quirks模式。
解决此问题后,background:fff
将不再有效。您需要background:#fff
。 #
很重要。
答案 3 :(得分:0)
http://jsfiddle.net/a256R/ - 类似的选择器 - 在IE7和IE8中工作(第一个div是绿色,第二个是红色)。问题出在其他地方(背景图片网址,其他规则等)。