CSS分层背景

时间:2014-07-13 16:46:42

标签: css3

尝试使用具有不同z索引的三个背景导致仅显示一个图层。

This jsfiddle有相关的代码和示例(减去巨大的基础css文件......没有它就没有改变行为)。

失败的类是

skyline

#footer_container

#header_container正常运行。

1 个答案:

答案 0 :(得分:1)

我已更新你的小提琴here

由于你的CSS语法,

#footer-container没有显示其背景图片。由于您将背景图片网址和非重复图片组合在一起,因此您需要使用background简写而不是background-image属性。

检查此类事情的一个好方法是使用浏览器检查元素(在Chrome中:右键单击>检查元素),找到未正确显示的元素。您注意到,由于语法错误,您的#footer-container div的背景图片属性实际上被Chrome划掉了。

您的.skyline课程中也存在一些语法问题。首先,您的body和内部div都有一个.skyline类。这有点令人困惑,所以你应该删除它或在CSS中更具体,例如使用p.skylinediv.skyline等。正如您目前所写的那样,您的身体和.skyline div都会获得背景图片。您还没有包含结束</body>标记。我假设你不想在div和身体上都有背景图片,所以我在更新的小提琴中删除了你的身体标签。

此外,在.skyline css中,您同时拥有height: 546height: auto。首先,CSS中的高度应该具有特定值(例如px,em,%)。但是,对于<img src="img.jpg" height="546" />,只需将&#34; 546&#34;因为它的高度会很好。其次,每个类只应有一个高度值。

天际线问题本身就是你没有在第126行关闭你的花括号,因此根本没有任何样式应用于.skyline。一旦关闭,仍然存在问题。它没有宽度。因此,让我们将其设置为100%。仍然是虚无...这是因为.skyline的父div#container也是无宽度的。所以我们也要在它上面抛出100%的宽度。然后我们开始营业。

一个突出语法错误的优秀文本编辑器可以帮助你解决问题,特别是当你刚刚开始时。