以下代码应显示标题栏,页脚栏和图像,但出于某种原因,只要我添加.div1 { -webkit-transform-style: preserve-3d; }
,我就会得到标题栏。我知道它似乎有一些不必要的div和样式应用,但我确实需要它们的效果,我已经剥离,使调试更容易。我的页面代码是:
<html>
<head>
<title></title>
<style>
body {
margin: 0px;
}
.div1 {
-webkit-transform-style: preserve-3d;
}
.div2 {
position: absolute;
width: 100%;
height: 100%;
}
img {
max-width: 50%;
max-height: 50%;
display: block;
}
.footer {
position: fixed;
bottom : 0px;
}
</style>
</head>
<body>
<div class="div1">
<div class="div2">
<div class="header">
Header
</div>
<div class="imgdiv">
<img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2012/5/18/1337331092888/Cwm-Idwal-Snowdonia.-Mich-007.jpg">
</div>
<div class="footer">
Footer
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:11)
我认为这里的问题类似于众所周知的行为,position: absolute / fixed
div没有定义的高度/宽度常常会消失。在你的情况下,3d画布正在寻找<div class="div1">
在其上定义宽度,否则它只是在空间中漫无目的地漂浮,因为你赋予它使用3d画布的属性,我相信以某种间接的方式导致它不扩展以包含子div。
无论如何,您可以看到在height
元素上定义width
和preserve-3d
修复了JS小提琴中的问题:http://jsfiddle.net/nY9v6/
答案 1 :(得分:-3)