您的位置:首页 > 科技 > 能源 > 直播:英格兰vs法国_扬中网站优化_网店运营_pr的选择应该优先选择的链接为

直播:英格兰vs法国_扬中网站优化_网店运营_pr的选择应该优先选择的链接为

2024/11/17 12:16:32 来源:https://blog.csdn.net/2403_86264751/article/details/143199928  浏览:    关键词:直播:英格兰vs法国_扬中网站优化_网店运营_pr的选择应该优先选择的链接为
直播:英格兰vs法国_扬中网站优化_网店运营_pr的选择应该优先选择的链接为

 页面样式

创建四个具有不同位置和视角的正方体,通过 CSS 的 3D 变换实现了立体感的效果。每个正方体的六个面可以通过不同的数字和颜色进行区分,增加了可视化的效果。

结构分析

<body>部分包含了四个<div>元素,分别是box1box2box3box4。每个<div>内部又包含了六个子<div>元素,分别对应正方体的六个面,每个面上有数字、样式和绝对定位。

CSS 样式

  • 首先,使用通配符选择器*重置了所有元素的边距和内边距为 0,确保页面没有默认的空白边距。
  • 对于四个正方体容器(.box1.box2.box3.box4):
    • 设置了固定定位,使它们在浏览器窗口中的位置固定。每个容器都有特定的宽度(200px)和高度(200px)。
    • 通过设置不同的topleft属性,将四个正方体放置在不同的位置。例如,box1位于top:50px;left: 100pxbox2位于top:50px;left:500px等。
    • margin: auto用于使容器在水平和垂直方向上自动居中,但由于同时设置了固定定位,这个属性在这里主要起到辅助调整位置的作用。
    • transform-style: preserve-3d创建了一个 3D 空间,允许子元素在三维空间中进行变换。
    • transition: 2s设置了过渡效果,使得正方体在进行交互或状态变化时,过渡时间为 2 秒,增加了动画的平滑性。
    • perspective-originperspective属性用于设置 3D 视角的原点和距离。不同的正方体容器设置了不同的perspective-origin值,以调整观察正方体的视角原点。perspective: 1000px设置了观察 3D 场景的距离,影响正方体的透视效果。
  • 对于正方体的六个面(.box div):
    • 设置了绝对定位,使它们相对于父容器进行定位。宽度和高度都为 200px,与父容器相同。
    • text-align: centerline-height:200px用于使面上的数字居中显示。字体大小为 150px,字体加粗。颜色设置为白色(aliceblue)。
    • border:2px solid #000为每个面添加了 2 像素宽的黑色边框。
  • 对于具体的六个面(.c1.c6):
    • 通过不同的背景颜色进行区分,如.c1的背景颜色为rgba(235, 69, 9, 0.3)
    • 使用transform属性进行不同方向的平移和旋转,以形成正方体的各个面。例如,.c1通过transform:translateZ(100px)将第一个面向前平移 100px;.c2通过transform:translateZ(-100px) rotateY(180deg)将第二个面向后平移 100px 并绕 Y 轴旋转 180 度,使正面朝外。

 整体代码

<!-- 先在一个盒子里面设置6个面,6个面都放在盒子内部,
然后分别把6个面往6个不同的方向运动,形成立方体。 --><!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>正方体</title><style>*{margin:0;padding:0;}.box1{width:200px;height:200px;position:fixed;top:50px;left: 100px;/* 固定定位在浏览器里 */margin: auto;transform-style: preserve-3d;       /* //形成3d空间)*/transition:2s;   /* //为了过度看起来更舒服 */perspective-origin:150% 50%;perspective: 1000px;}.box2{width:600px;height:200px;position:fixed;top:50px;left:500px;margin: auto;transform-style: preserve-3d;   perspective-origin:200% 200%;perspective: 1000px;}.box3{width:200px;height:200px;position:fixed;top:400px;left: 100px;margin: auto;transform-style: preserve-3d;   perspective-origin:center;perspective: 1000px;}.box4{width:200px;height:200px;position:fixed;top:400px;left: 500px;margin: auto;transform-style: preserve-3d;   perspective-origin:-200%;perspective: 1000px;}.box div{width:200px;height:200px;text-align: center;line-height:200px;font-size: 150px;font-weight:bolder;color:aliceblue;position:absolute;   /* 让6个面全部绝对定位在父元素里面 */left:0;top:0;border:2px solid #000;}.c1{/* 第一个面往前走 */background:rgba(235, 69, 9, 0.3);transform:translateZ(100px);}.c2{/* 第二个面往后走 */background:rgba(132, 235, 58, 0.3);transform:translateZ(-100px) rotateY(180deg); /*rotateY(180deg)  让正面朝外*/}.c5{background:rgba(32, 156, 222, 0.29);transform:translateY(-100px) rotateX(90deg);}.c6{background:rgba(229, 233, 9, 0.291);transform:translateY(100px) rotateX(-90deg);}.c3{background:rgba(193, 8, 165, 0.35);transform:translateX(-100px) rotateY(-90deg);}.c4{background:rgba(96, 9, 111, 0.213);transform:translateX(100px) rotateY(90deg);}</style>
</head>
<body><div class="box1 box">150% 50%;<div class="c1">1</div><div class="c2">2</div><div class="c3">3</div><div class="c4">4</div><div class="c5">5</div><div class="c6">6</div></div><div class="box2 box">200% 200%<div class="c1">1</div><div class="c2">2</div><div class="c3">3</div><div class="c4">4</div><div class="c5">5</div><div class="c6">6</div></div><div class="box3 box">center<div class="c1">1</div><div class="c2">2</div><div class="c3">3</div><div class="c4">4</div><div class="c5">5</div><div class="c6">6</div></div><div class="box4 box">-200%<div class="c1">1</div><div class="c2">2</div><div class="c3">3</div><div class="c4">4</div><div class="c5">5</div><div class="c6">6</div></div>
</body>
</html>

 你学会了吗!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com