【问题标题】:CSS3 -webkit-transform: translateZ(xpx) not workingCSS3 -webkit-transform: translateZ(xpx) 不工作
【发布时间】:2013-08-10 12:15:14
【问题描述】:

对不起,如果这看起来有点基本,但我在网上搜索并找不到另一个答案(这让我觉得我在做一些愚蠢的事情)。

我有一个父 div 和一个子 div。我正在尝试将 CSS3 translateZ 应用于孩子,但似乎没有发生任何事情。

translateX 和 translateY 可以工作,也可以旋转,但不能 translateZ。我疯了吗?

这是一个小提琴:http://jsfiddle.net/Sb55D/1/

<div id="main">
    <div id="child">
        Lorem
    </div>
</div>

#main {
   display: block;
   position: absolute;
   width: 400px; height: 400px;
   border: thin solid red;
   top: 10px;
   left: 10px;
   -webkit-transform-style: preserve-3d;
}

#child {
    display: block;
    position: absolute;
    top: 50%; left: 50%;
    width: 300px;
    height: 300px;
    border: thin solid green;
    -webkit-transform: translate(-50%, -50%) translateZ(-400px);
    -webkit-transform-style: preserve-3d;
}

【问题讨论】:

    标签: css safari webkit transform


    【解决方案1】:

    您需要将perspective 应用于父元素才能使 translateZ 工作...尝试添加类似的内容:

    #main {
       display: block;
       position: absolute;
       width: 400px; height: 400px;
       border: thin solid red;
       top: 10px;
       left: 10px;
       /*-webkit-transform-style: preserve-3d; not needed on parent element */
       -webkit-perspective: 1000;
    }
    

    DEMO

    【讨论】:

    • 没问题... z 在 3d 空间内变换,所以你必须给它一些空间来使用它!
    • 点击上下箭头的复选标记以标记为已解决:)
    • 为了任何其他浏览者的利益:关键是将perspective应用于已翻译元素的
    • @Tamlyn 是正确的,在修复之前答案不会是正确的。
    • @Jonz 仍然是正确的,只是对于不看演示的人来说可能不是 100% 清楚。更新以防万一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2014-05-04
    • 2012-05-17
    相关资源
    最近更新 更多