基于CSS的3D旋转画册的制作

简介: 这是一种使用CSS做出来的旋转效果,可用于宣传海报

这是程序猿使用前端代码制作的小浪漫,可用于公司海报宣传,单位文明宣传等,也可以用于向别人展示自己的获奖证书实习经历等,也可以用来显示自己的浪漫!

需要注意的点:

  • 1.首先是image的整理,以个人实际开发经验来看,方方正正的照片做出来的效果比较好,我们可以挑选出来十几张照片,除了实际应用的照片外,留一些备用照片以防自己希望随时更换照片.
  • 2.其次是在html中的盒子的大小和尺寸的构建,以实际情况看自己需要放几张照片来调整盒子的大小(一个大的盒子里放几个小的盒子),一般需要先固定一个大盒子,给大盒子一个尺寸,然后根据大盒子的尺寸去均分想要插入的盒子的数量,设置盒子的浮动方式即可.
  • 3.将每个盒子的内外边距调整合适,这个是调整盒子和盒子之间的距离,为了美观需要不断的进行尝试.

建议:

如果我们是自己做相册来玩的话,我们可以使用内嵌的CSS,因为我们需要做的东西并不复杂,但是如果是用来为公司宣传之类的,建议使用外来引入的CSS文件,便于大家修改以及HTML页面整齐.对于相同CSS起源来说,不同位置的样式其优先级也是不同的。一般来说,行内样式会优先于内嵌样式表,内部样式表会优先于外部样式表。而被附加了!important关键字的声明会拥有最高的优先级。

CSS三种样式的介绍:

  1. 外部样式:外部样式与HTML代码分离,单独存放在.css文件中。使用时通过link标签将此文件引入到页面中,引入的格式为:<link type="text/css" rel="stylesheet" href=".css文件的地址"/>
  2. 内部样式:内部样式使用<style>标签将CSS代码包裹起来,并放入<head>标签中(一般存放在head中,也可存放于别处,如body中),格式为:<style> </style>


  1. 内联样式: 内联样式定义在dom元素的style属性中,格式为:<div style=""> </div>

以上三种样式类型的优先级为:

内联样式  >  内部样式  >  外部样式

下面解释一些具体的语句含义:

<meta charset="UTF-8" /> :这句话的含义是,设置网页编码为utf-8,确保中文可以正常显示。

<body> </body> : 在body区域里面添加dom元素,也就是一个网页的主题框架。比如div,p,a标签等,就是放在这个部分的。

 <title>相信光的奥特王小懒的3D旋转相册</title>: 这是网页顶部展示的网页的名称

background-image: 背景图片的设置,通过url从本地或者网页上输入图片的地址


我们画一个id为box的div作为相框来装载所有的图片

<divid="box">

我们需要使用css语句来给div进行修饰。

#box{width: 200px;
height: 400px;
position: fixed;
left: 0;
right: 0;
top:0;
bottom: 0;
margin: auto;
transform-style: preserve-3d;
transform: rotateX(0deg) rotateY(0deg);
animation: go45slinearinfinite;
           }

针对如何实现3D效果呐,我们需要加上如下语句:

transform-style: preserve-3d;

以下是总的实现代码:

<!DOCTYPEhtml>
<html>
<headlang="en">
    <metacharset="UTF-8"/>
    <title>相信光的奥特王小懒的3D旋转相册</title>
    <styletype="text/css">
        *{padding: 0;
margin: 0;}
body,html{height:100%;}
body{background-image: url("images/beijing.jpg");background-size: 100%100%;}
#box{width: 200px;
height: 400px;
position: fixed;
left: 0;
right: 0;
top:0;
bottom: 0;
margin: auto;
transform-style: preserve-3d;
transform: rotateX(0deg) rotateY(0deg);
animation: go45slinearinfinite;
           }
#boximg{width: 250px;
height: 250px;
position: absolute;
left: 0;
top: 0;
        }
#boximg:nth-child(1){
transform: rotateY(0deg) translateZ(500px);}
#boximg:nth-child(2){
transform: rotateY(36deg) translateZ(500px);}
#boximg:nth-child(3){
transform: rotateY(72deg) translateZ(500px);}
#boximg:nth-child(4){
transform: rotateY(108deg) translateZ(500px);}
#boximg:nth-child(5){
transform: rotateY(144deg) translateZ(500px);}
#boximg:nth-child(6){
transform: rotateY(180deg) translateZ(500px);}
#boximg:nth-child(7){
transform: rotateY(216deg) translateZ(500px);}
#boximg:nth-child(8){
transform: rotateY(252deg) translateZ(500px);}
#boximg:nth-child(9){
transform: rotateY(288deg) translateZ(500px);}
#boximg:nth-child(10){
transform: rotateY(324deg) translateZ(500px);}
@keyframesgo {
0%{transform: rotateX(0deg) rotateY(0deg);}
25%{transform: rotateX(20deg) rotateY(180deg);}
50%{transform: rotateX(0deg) rotateY(360deg);}
75%{transform: rotateX(-20deg) rotateY(540deg);}
100%{transform: rotateX(0deg) rotateY(720deg);}
    }
    </style>
</head>
  <body>
    <divid="box">
        <imgsrc="images/1.jpg">
        <imgsrc="images/2.jpg">
        <imgsrc="images/3.jpg">
        <imgsrc="images/4.jpg">
        <imgsrc="images/5.jpg">
        <imgsrc="images/6.jpg">
        <imgsrc="images/7.jpg">
        <imgsrc="images/8.jpg">
        <imgsrc="images/9.jpg">
        <imgsrc="images/10.jpg">
    </div>
  </body>
</html>

image.png

注意:这是经过马赛克后的照片,只是为了让大家看清轮廓

相关文章
|
6月前
CSS3自动旋转正方体3D特效
CSS3自动旋转正方体3D特效
54 3
CSS3自动旋转正方体3D特效
|
1月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
29 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
1月前
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
35 0
|
1月前
|
前端开发 容器
CSS实现旋转圆角叠加样式,你学会了吗?
CSS实现旋转圆角叠加样式,你学会了吗?
36 0
|
3月前
|
前端开发
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
|
5月前
|
前端开发 JavaScript UED
CSS进阶-3D变换与透视效果
【6月更文挑战第15天】CSS3的3D变换和透视效果增强了网页的深度感。通过`rotateX/Y/Z`旋转和`translateZ`移动,结合`perspective`属性可创建3D空间。`perspective`定义观察者与Z轴的距离,影响元素的缩放感。常见问题包括过度失真和元素遮挡顺序,可通过调整`perspective`值和使用`z-index`解决。进阶技巧涉及层叠上下文理解和3D卡片翻转效果,通过实践与探索,设计师能更好地利用这些工具创新用户体验。
110 6
|
4月前
|
前端开发
前端 CSS 经典:旋转边框效果
前端 CSS 经典:旋转边框效果
39 0
|
4月前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】3d-boxes-background
【HTML+CSS+JavaScript】3d-boxes-background
34 0
|
4月前
|
前端开发 JavaScript
前端 CSS 经典:3D Hover Effect 效果
前端 CSS 经典:3D Hover Effect 效果
53 0
|
4月前
|
前端开发 JavaScript
前端 CSS 经典:3D 渐变轮播图
前端 CSS 经典:3D 渐变轮播图
114 0