在好例子网,分享、交流、成长!
您当前所在位置:首页CSS 开发实例HTML基础 → 3D旋转相册(纯css实现)

3D旋转相册(纯css实现)

HTML基础

下载此实例
  • 开发语言:CSS
  • 实例大小:0.62M
  • 下载次数:23
  • 浏览次数:322
  • 发布时间:2020-12-08
  • 实例类别:HTML基础
  • 发 布 人:慕名的心
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 3D旋转相册 旋转 3d 相册

实例介绍

【实例简介】

【实例截图】

【核心代码】

*{
padding:0;
margin: 0;
}
html{
background:linear-gradient(#032861 0%,#000000 80%);
height: 100%;  
width: 100%;
overflow: hidden;
}

/*满天星*/
.wall{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
}
div#midground{
    background: url("../img/midground.png");
   /* z-index:1;*/ overflow: hidden;
    animation: cc 20s linear infinite;
}
div#foreground{
    background: url("../img/foreground.png"); overflow: hidden;
    /* z-index:2; */
    animation: cc 10s linear infinite;
}

@keyframes cc {
    0%{
        background-position: 0 0;
    }
    100%{
        background-position: 1000% 0;
    }
}


.wrap{
height: 200px;
width: 200px;
margin: 250px auto;
position: relative;
perspective:2000px;
/*实现3d效果*/
transform-style:preserve-3d; /* 表示所有子元素在3D空间中呈现。*/
transform:rotateX(20deg) rotateY(30deg); /*定义转换,只是用 X 轴的值。   定义转换,只是用 Y 轴的值。*/
transform-origin: 50% 50% 0; /*单独100px也行*/
animation:move 4s linear infinite;
/*  linear:每一步的距离和前一步都是相同的,也就是等速
若不加linear,那会默认速度会加快然后最后一点距离再减速 */
}
/*大正方形样式*/
.wrap .box{
position: absolute;
width: 200px;
height: 200px;
opacity: 0.8;
transition: 2s;
}
/* translateZ(z)  定义 3D 转换,只是用 Z 轴的值。*/
/* scaleY(y)   通过设置 Y 轴的值来定义缩放转换。*/
.wrap>img:nth-child(1){
transform: rotateY(0deg) translateZ(100px);
}
.wrap>img:nth-child(2){
transform: translateZ(-100px) rotateY(180deg);
}
.wrap>img:nth-child(3){
transform: rotateY(90deg) translateZ(100px);
}
.wrap>img:nth-child(4){
transform: rotateY(-90deg) translateZ(100px);
}
.wrap>img:nth-child(5){
transform: rotateX(90deg) translateZ(100px);
}
.wrap>img:nth-child(6){
transform: rotateX(-90deg) translateZ(100px);
}
/*小正方形*/
.wrap .square {
display: bloack;
width: 100px;
height: 100px;
position: absolute;
left: 50px;
   top:50px;
}
.wrap>img:nth-child(7){
transform: rotateY(0deg) translateZ(50px);
}
.wrap>img:nth-child(8){
transform: translateZ(-50px) rotateY(180deg);
}
.wrap>img:nth-child(9){
transform: rotateY(90deg) translateZ(50px);
}
.wrap>img:nth-child(10){
transform: rotateY(-90deg) translateZ(50px);
}
.wrap>img:nth-child(11){
transform: rotateX(90deg) translateZ(50px);
}
.wrap>img:nth-child(12){
transform: rotateX(-90deg) translateZ(50px);
}
@-webkit-keyframes move{
/* from{transform: rotateX(0deg) rotateY(0deg);}
to{transform: rotateX(360deg) rotateY(360deg);} */
/* 上面和下面是一样的 */
0%{
  transform: rotateX(0deg) rotateY(0deg);
}
100%{
  transform: rotateX(360deg) rotateY(360deg);
}
}
/* cursor属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状 */
.wrap:hover{
cursor:pointer;
}
.wrap:hover>img:nth-child(1){
transform: rotateY(0deg) translateZ(200px);
}
.wrap:hover>img:nth-child(2){
transform: translateZ(-200px) rotateY(180deg);
}
.wrap:hover>img:nth-child(3){
transform: rotateY(90deg) translateZ(200px);
}
.wrap:hover>img:nth-child(4){
transform: rotateY(-90deg) translateZ(200px);
}
.wrap:hover>img:nth-child(5){
transform: rotateX(90deg) translateZ(200px);
}
.wrap:hover>img:nth-child(6){
transform: rotateX(-90deg) translateZ(200px);
}



网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警