专家。
我正在为我的画廊制作旋转立方体效果,并且我已经在他的主页上查看了 Paul Hayes 实验立方体(要观看它,请使用 Google Chrome;否则它可能无法正常工作)。
目前的挑战是让它在移动设备上运行,自动适应页面宽度。否则,它太小了。立方体正面必须与浏览器匹配,这样您在转换过程中只能看到透视图。
我做了什么?
- 我尝试将外部 div 的宽度/高度设置为 100%
- 我尝试将所有 6 个边的偏移量更改为百分比。它部分工作,但 tranformZ 不适用于百分比数字
- ...还有很多其他的东西;挣扎了好几个小时。我是如此接近,但无法解决如何使用 -webkit-perspective-origin 正确设置 .viewport 或 .cube 的转换点
然后我尝试从头开始构建它。我得到了我的立方体,将其缩放 100%,并且能够将其围绕自己的 y 轴翻转 180 度,并尝试将图像放在更远的位置(z 轴上的 -100%,但 translateZ 不能以 % 为单位工作我之前提到过)所以当我缩放浏览器时,它会四处移动。
所以,最大的问题是:是否有可能让整个立方体正面适合浏览器的整个宽度,这样它就可以缩放内容,不管它是什么?如果是,如何?
这是我正在使用的代码中最重要的部分:
img {
min-width:100%; <-- tried width:100% as well. All images on the scene must be 100% in width and height
min-height:100%;
}
.viewport {
-webkit-perspective: 800;
-webkit-perspective-origin: 50% 100px;
min-height: 100%;
min-width: 100%;
position:relative;
}
.cube {
position: relative;
margin: auto auto;
height: 300px; <- If I change this to percent, it looks very strange
width: 300px;
-webkit-transition: -webkit-transform 50ms linear;
-webkit-transform-style: preserve-3d;
}
.cube h2 {
color: #fff;
padding-top: 0;
margin-top: 0;
}
.cube a {
color: #fff;
}
.cube > div {
position: absolute;
height: 100%;
width: 100%;
}
.cube > div:first-child {
-webkit-transform: rotateX(90deg) translateZ(150px);