从CSS的角度看,数字越小,越大?

从CSS的角度看,数字越小,越大?,css,perspective,webkit-perspective,Css,Perspective,Webkit Perspective,在具有不同透视图的多维数据集示例中: 右边的那个有-webkit透视图:250px而左边的一个具有-webkit透视图:1000px 根据Mozilla的说法: “perspective CSS属性确定z=0平面和用户之间的距离,以便为3D定位元素提供一些透视。z>0的每个3D元素都会变大;z的每个3D元素都必须了解,改变的是透视,而不是比例 当你问 在这种情况下,右边的立方体应该离用户更近750px,那么为什么它没有比左边的立方体大很多呢 你需要考虑的是,你更接近750px来计算透视图,而不

在具有不同透视图的多维数据集示例中:

右边的那个有
-webkit透视图:250px而左边的一个具有
-webkit透视图:1000px

根据Mozilla的说法:
“perspective CSS属性确定z=0平面和用户之间的距离,以便为3D定位元素提供一些透视。z>0的每个3D元素都会变大;z的每个3D元素都必须了解,改变的是透视,而不是比例

当你问

在这种情况下,右边的立方体应该离用户更近750px,那么为什么它没有比左边的立方体大很多呢

你需要考虑的是,你更接近750px来计算透视图,而不是尺寸

关键是规范中的这一部分:


每个z>0的3D元素都会变大;如果您在此处共享标记,每个z>0的3D元素都会向上投票,因为这确实是一个好问题
<div class="wrapper w1">
  <h1><code>perspective: 1000px</code></h1>
  <div class="cube">
    <div class="side  front">1</div>
    <div class="side   back">6</div>
    <div class="side  right">4</div>
    <div class="side   left">3</div>
    <div class="side    top">5</div>
    <div class="side bottom">2</div>
  </div>
</div>
<div class="wrapper w2">
  <h1><code>perspective: 250px</code></h1>
  <div class="cube">
    <div class="side  front">1</div>
    <div class="side   back">6</div>
    <div class="side  right">4</div>
    <div class="side   left">3</div>
    <div class="side    top">5</div>
    <div class="side bottom">2</div>
  </div>
</div>
.wrapper {
  width: 50%;
  float: left;
}

.w1 {
  perspective: 1000px;
}

.w2 {
  perspective: 250px;
}

.wrapper h1 {
  text-align: center;
}

.cube {
  font-size: 4em;
  width: 2em;
  margin: 1.5em auto;
  transform-style: preserve-3d;
  transform: rotateX(-40deg) rotateY(32deg);
}

.side {
  position: absolute;
  width: 2em;
  height: 2em;

  background: rgba(tomato, .6);
  border: 1px solid rgba(0,0,0,.5);

  color: white; 
  text-align: center;
  line-height: 2em;
}

.front  { transform:                  translateZ(1em); }
.top    { transform: rotateX( 90deg)  translateZ(1em); }
.right  { transform: rotateY( 90deg)  translateZ(1em); }
.left   { transform: rotateY(-90deg)  translateZ(1em); }
.bottom { transform: rotateX(-90deg)  translateZ(1em); }
.back   { transform: rotateY(-180deg) translateZ(1em); }