尝试使用不同z索引的三个背景会导致只显示一个图层。
这个jsfiddle有相关的代码和示例(减去巨大的基础css文件…没有它,行为也不会改变)。
失败的类是
skyline
和
#footer_container
而#header_container
运行正常
我已经更新了你的小提琴。
#footer-container
没有显示它的背景图像,因为你的CSS语法。由于您结合了背景图像URL和no-repeat,因此您需要使用background
简写而不是background-image
属性。
检查这类事情的一个好方法是用浏览器检查你的元素(在Chrome中:右键单击>检查元素),并找到没有正确显示的元素。你会注意到你的#footer-container
div的背景图像属性因为语法错误被Chrome从字面上划掉了。
在你的.skyline
类中也有一点语法问题。首先,body
和内部div都有一个.skyline
类。这有点令人困惑,所以你应该删除它,或者在你的CSS中更具体,例如p.skyline
, div.skyline
等。正如您目前所写的那样,您的body和.skyline
div都将获得背景图像。您也没有包含结束</body>
标记。我假设你不希望在div和body上都有背景图像,所以我在更新的fiddle中删除了body标签。
同样,在你的.skyline
css中,你有height: 546
和height: auto
。首先,CSS中的高度应该有一个特定的值(例如px, em, %)。然而,对于<img src="img.jpg" height="546" />
,简单地将"546"作为其高度就可以了。其次,每个类应该只有一个高度值。
天际线问题本身是,你没有关闭你的大括号在第126行,所以没有任何样式应用到.skyline
。一旦关闭,还有一个问题。它没有宽度。设它为100%还没有什么结果。这是因为.skyline
的父div#container
也是没有宽度的。所以我们也把宽度设为100%那我们就开始吧。
一个好的文本编辑器,可以突出显示语法错误,可以帮助你很多,特别是当你刚刚开始。