我熟悉用position: relative;
和无单z-index: 10;
移动东西,我认为z-index是无单位的。但是,我刚刚了解了transform
,特别是translate3d
函数:
transform: translate3d(0px,0px,10px);
我很困惑translate3d接受第三个参数的像素,因为 在z方向上没有像素。将html元素转换为z平面时的像素是什么?为什么它们比无单位值更有用?
答案 0 :(得分:1)
正 z 平移的每个像素使元素与您更接近一个像素(实际上,放大它),而不更改元素相对于其他元素的分层顺序。
z-index
(documentation)值是整数值,用于确定不同元素相对于彼此的堆叠方式。
在translate3d(tx, ty, tz)
(documentation) tz
值,如tx
和ty
值,是一个翻译向量,用于在其中移动三维空间中的元素z-index
图层。正tz
会将元素移向您,而负tz
会将元素移离您。
您可以将tz
z平面翻译视为scale()
(documentation)的表兄(使用无单位值,其中" 2"是" double"):它"缩放"该元素并不影响z-index
分层顺序。