通过正方体案例来了解HTML5+CSS3+Bootstrap的3D转换、旋转等功能

该文详细介绍了如何通过HTML5和CSS3的3D转换技术创建一个可旋转的正方体盒子模型。文章涵盖了关键的3D转换函数,如rotate3d、translate3d等,并通过实例代码展示了正方体六个面的定位及3D旋转效果。读者可以学习到如何利用这些技术实现响应式的3D视觉效果。
摘要由CSDN通过智能技术生成

目    录

一、前言

二、知识点讲解

三、实现的代码及功能

1.创建盒子模型以及定义3D变量的初始值

 2.定义box的旋转角度(这个是为刚好的体现正方体每个角度的文字)

 3.定义正方体每个面的样式

 4.实现正方体各个面的位置及3D功能的效果

 5.将正方体的各个面全部实现

四、案例完整代码

五、案例运行的截图及视频


一、前言

1.本文讲解的响应式开发技术(HTML5+CSS3+Bootstrap)的变形中的3D转换、旋转等功能的代码,这也是很多教材的一个典型案例,具体功能是实现一个盒子模型的正方体能够以3D的方式进行旋转,同时每个面上会显示对应的方向数字;

2.本文将讲解涉及到3D转换、旋转等功能的知识点,其它方面会大致讲一下;

3.本代码是使用visual Studio Code编写的,其他软件如DW,HBX等都是可以的;

4.运行浏览器是谷歌,同时推荐使用谷歌浏览器;

5.这个案例是我上学跟老师所讲做出来的,有些地方不是很完美,请见谅也请多赐教;

二、知识点讲解

部分3D转换的函数
函数名功能描述功能说明
translate3d(x,y,z)声明3D转化元素需要移动的数值
translateX/Y/Z(x)/(y)/(z)单独用于x/y/z轴的值元素需要移动的数值,这里的x.y.z是单独一段使用的
scale3d(x,y,z)声明3D缩放表示缩放的比例,取值范围是正数、负数和小数
scaleX/Y/Z(x)/(y)/(z)沿着x/y/z轴缩放表示缩放的比例,取值范围是正数、负数和小数,这里的x.y.z是单独一段使用的
rotate3d(x,y,z,angel)定义3D旋转x,y,z判断旋转的轴,旋转轴的值设置为1,否则为0,angel表示元素旋转角度
rotateX/Y/Z(x)/(y)/(z)沿着x/y/z轴3D旋转angel表示元素旋转角度,这里的x.y.z是单独一段使用的

三、实现的代码及功能

1.创建盒子模型以及定义3D变量的初始值

下面定义了正方体每一个面的样式及名字,这里需要使用<div>,同时把这个<div>声明名称为box

<body>

    <div class="box">

        <div class="front">前</div>

        <div class="back">后</div>

        <div class="left">左</div>

        <div class="right">右</div>

        <div class="top">上</div>

        <div class="bottom">下</div>

      </div>

</body>

 下面需要在head头文件将声明的box定义3D变量的初始值,之前需要声明style;

<style>

        .box{

            width: 200px;

            height: 200px;

            background-color: aqua;

            position: absolute;

            left: 650px;

            top: 250px;

            transition: 18S;                       

            perspective: 1000px;

            transform-style: preserve-3d;

        }

 2.定义box的旋转角度(这个是为刚好的体现正方体每个角度的文字)

.box:hover{

            transform: rotateX(-360deg) rotateY(360deg);

                 }

 3.定义正方体每个面的样式

.front,.back,.left,.right,.top,.bottom{

            position: absolute;

            left: 0;

            top: 0;

            right: 0;

            bottom: 0;

            border: 1px solid black;

            font-size: 40px;

            text-align: center;

            line-height: 200px;

           

        }

在定义完之后,可以看下运行的结果,目前是将正方体放在了中央,但文字以及3D效果和旋转还没有实现;

 4.实现正方体各个面的位置及3D功能的效果

.front{

            background-color: darkorange;

            transform: translateZ(100px);

        }

        .back{

            background-color: darkseagreen;

            transform: translateZ(-100px);

        }

效果图,前后两面 

 5.将正方体的各个面全部实现

.left{

            background-color: aquamarine;

            transform: rotateY(-90deg) translateZ(100px);

        }

        .right{

            background-color: lightcoral;

            transform: rotateY(90deg) translateZ(100px);

        }

        .top{

            background-color: rgb(81, 216, 23);

            transform: rotateX(90deg) translateZ(100px);

        }

        .bottom{

            background-color: red;

            transform: rotateX(-90deg) translateZ(100px);

        }

 实现后的效果图

 到这就将这个正方体盒子模型的部分3D转换功能实现完了,下面是完整代码

四、案例完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D转换功能</title>
    <style>
        .box{
            width: 200px;
            height: 200px;
            background-color: aqua;
            position: absolute;
            left: 650px;
            top: 250px;
            transition: 18S;
            perspective: 1000px;
            transform-style: preserve-3d;
        }
        .box:hover{
            transform: rotateX(-360deg) rotateY(360deg);
        }
        .front,.back,.left,.right,.top,.bottom{
            position: absolute;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            border: 1px solid black;
            font-size: 40px;
            text-align: center;
            line-height: 200px;
            
        }
        .front{
            background-color: darkorange;
            transform: translateZ(100px);
        }
        .back{
            background-color: darkseagreen;
            transform: translateZ(-100px);
        }
        .left{
            background-color: aquamarine;
            transform: rotateY(-90deg) translateZ(100px);
        }
        .right{
            background-color: lightcoral;
            transform: rotateY(90deg) translateZ(100px);
        }
        .top{
            background-color: rgb(81, 216, 23);
            transform: rotateX(90deg) translateZ(100px);
        }
        .bottom{
            background-color: red;
            transform: rotateX(-90deg) translateZ(100px);
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="front">前</div>
        <div class="back">后</div>
        <div class="left">左</div>
        <div class="right">右</div>
        <div class="top">上</div>
        <div class="bottom">下</div>
      </div>
</body>
</html>

五、案例运行的截图及视频

 

正方体盒子模型实现3D转换功能的效果视频

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜鸿阳

谢谢您!感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值