CSS3是CSS語言的第三個版本,與CSS2相比,它增加了更多的選擇器、屬性和值,同時引入了新的特性,如動畫、過渡和媒體查詢。其中,CSS3_3D呈現是CSS3最具特色也最有趣的一個特性。
.box {
width: 200px;
height: 200px;
position: relative;
transform-style: preserve-3d;
}
.box .front,
.box .back,
.box .right,
.box .left,
.box .top,
.box .bottom {
position: absolute;
width: 200px;
height: 200px;
opacity: .8;
background-color: rgba(255, 255, 255, .9);
}
.box .front {
transform: translateZ(100px);
}
.box .back {
transform: translateZ(-100px) rotateY(180deg);
}
.box .right {
transform: rotateY(90deg) translateZ(100px);
}
.box .left {
transform: rotateY(-90deg) translateZ(100px);
}
.box .top {
transform: rotateX(90deg) translateZ(100px);
}
.box .bottom {
transform: rotateX(-90deg) translateZ(100px);
}
CSS3_3D呈現通過CSS3的transform屬性實現,可以實現類似于3D視覺效果。我們可以將元素(div、圖片等等)進行3D呈現,通過rotate、translate、scale、skew等函數,實現元素在三維空間中的變換。下面的示例代碼可以實現一個正方體的3D呈現:
其中,box為父級容器,它的position屬性必須為relative或者absolute,同時需要添加transform-style:preserve-3d屬性,才能保證其子元素的3D呈現效果。 sixFaces為box的子元素,其中包含了六個面(front、back、right、left、top、bottom),通過不同的位置和旋轉,實現了6個面的3D呈現效果。在項目開發中,CSS3_3D呈現可以為頁面增加更加生動和有趣的效果,也可以用在動畫、游戲等多種場景中。
上一篇css33d效果集合
下一篇CSS3循環背景