Gre*_*zzo 7 css webkit google-chrome css3 css-transforms
以下代码应显示标题栏,页脚栏和图像,但由于某种原因,我添加后.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>
Run Code Online (Sandbox Code Playgroud)
Bri*_*ian 11
我认为这里的问题类似于众所周知的行为,其中position: absolute / fixed没有定义高度/宽度的div经常会消失.在你的情况下,3d画布正在寻找在<div class="div1">其上定义宽度,否则它只是在空间中漫无目的地漂浮,因为你赋予它使用3d画布的属性,我相信以某种间接方式导致它不扩展包含子div.
在任何情况下,您都可以看到在元素上定义height并修复了JS小提琴中的问题:http://jsfiddle.net/nY9v6/widthpreserve-3d