css 3d box 实现的一些注意事项

本文介绍了一种使用CSS实现3D立方体翻转效果的方法。通过设置不同的旋转角度和变换原点,使得六个面构成的立方体能够在鼠标悬停时完成翻转动画。文章提供了详细的CSS样式设置及HTML结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Test1.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style>
 7     *{
 8         margin: 0;
 9         padding: 0;
10     }
11     .wrap{
12         margin: 50px auto;
13         width: 200px;
14         padding: 200px;
15         perspective: 800px;
16         border: 1px dashed #333;
17     }
18     .box{
19         position: relative;
20         width: 200px;
21         height: 200px;
22         line-height: 200px;
23         font-size: 100px;
24         text-align: center;
25         color: #fff;
26         font-weight: bold;
27         border: 1px dashed #ccc;
28         transform-style: preserve-3d;
29         transform-origin: center center -100px;/*定位的方式,旋转中心点这样设置,但存在兼容性问题*/
30         transition: 1s;
31     }
32     .box div{
33         position: absolute;
34         width: 200px;
35         height: 200px;
36     }
37     .box div:nth-of-type(1){
38         top: -200px;
39         background-color: red;
40         transform-origin: bottom;
41         transform: rotateX(90deg);
42     }
43     .box div:nth-of-type(2){
44         left: -200px;
45         background-color: green;
46         transform-origin: right;
47         transform: rotateY(-90deg);
48     }
49     .box div:nth-of-type(3){
50         background-color: blue;
51     }
52     .box div:nth-of-type(4){
53         right: -200px;
54         background-color: #333;
55         transform-origin: left;
56         transform: rotateY(90deg);
57     }
58     .box div:nth-of-type(5){
59         bottom: -200px;
60         background-color: yellow;
61         transform-origin: top;
62         transform: rotateX(-90deg);
63     }
64     .box div:nth-of-type(6){
65         background-color: tan;
66         transform: translateZ(-200px) rotateX(180deg);
67     }
68     .wrap:hover .box{
69         transform: rotateX(360deg);
70     }
71     </style>
72 </head>
73 <body>
74     <div class="wrap">
75         <div class="box">
76             <div>1</div>
77             <div>2</div>
78             <div>3</div>
79             <div>4</div>
80             <div>5</div>
81             <div>6</div>
82         </div>
83     </div>
84 </body>
85 </html>

Test2.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style>
 7     *{
 8         margin: 0;
 9         padding: 0;
10     }
11     .wrap{
12         margin: 50px auto;
13         width: 200px;
14         padding: 200px;
15         perspective: 800px;
16         border: 1px dashed #333;
17     }
18     .box{
19         position: relative;
20         width: 200px;
21         height: 200px;
22         line-height: 200px;
23         font-size: 100px;
24         text-align: center;
25         color: #fff;
26         font-weight: bold;
27         border: 1px dashed #ccc;
28         transform-style: preserve-3d;
29         transform-origin: center center -100px;/*定位的方式,旋转中心点这样设置,但存在兼容性问题*/
30         transition: 1s;
31     }
32     .box div{
33         position: absolute;
34         width: 200px;
35         height: 200px;
36     }
37     .box div:nth-of-type(1){
38         top: -200px;
39         background-color: red;
40         transform-origin: bottom;
41         transform: rotateX(90deg);
42     }
43     .box div:nth-of-type(2){
44         left: -200px;
45         background-color: green;
46         transform-origin: right;
47         transform: rotateY(-90deg);
48     }
49     .box div:nth-of-type(3){
50         background-color: blue;
51     }
52     .box div:nth-of-type(4){
53         right: -200px;
54         background-color: #333;
55         transform-origin: left;
56         transform: rotateY(90deg);
57     }
58     .box div:nth-of-type(5){
59         bottom: -200px;
60         background-color: yellow;
61         transform-origin: top;
62         transform: rotateX(-90deg);
63     }
64     .box div:nth-of-type(6){
65         background-color: tan;
66         transform: translateZ(-200px) rotateX(180deg);
67     }
68     .wrap:hover .box{
69         transform: rotateX(360deg);
70     }
71     </style>
72 </head>
73 <body>
74     <div class="wrap">
75         <div class="box">
76             <div>1</div>
77             <div>2</div>
78             <div>3</div>
79             <div>4</div>
80             <div>5</div>
81             <div>6</div>
82         </div>
83     </div>
84 </body>
85 </html>

Test3.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style>
 7     /*不用麻烦设置left,top等值*/
 8     .wrap{
 9         margin: 0 auto;
10         width: 200px;
11         height: 200px;
12         padding: 200px;
13         border: 1px solid #333;
14         perspective: 800px;/*!!!*/
15     }
16     .box{
17         width: 200px;
18         height: 200px;
19         position: relative;
20         transform-style: preserve-3d;/*!!!*/
21         transition: 3s all;
22         transform: translateZ(-100px) rotateX(0);
23     }
24     .box div{
25         width: 200px;
26         height: 200px;
27         line-height: 200px;
28         color: #fff;
29         position: absolute;
30         font-size: 100px;
31         text-align: center;
32     }
33     .box div:nth-of-type(1){
34         background-color: red;
35         transform: translateZ(100px);
36     }
37     .box div:nth-of-type(2){
38         background-color: blue;
39         transform-origin: top;
40         transform: translateZ(-100px) rotateX(90deg);/*!!!先移到最里面再操作能保证数字是正的,然后再向前移动,然后再控制其父向后移动*/
41     }
42     .box div:nth-of-type(3){
43         background-color: yellow;
44         transform: translateZ(-100px) rotateX(180deg);/*!!!*/
45     }
46     .box div:nth-of-type(4){
47         background-color: green;
48         transform-origin: bottom;
49         transform: translateZ(-100px) rotateX(-90deg);/*!!!*/
50     }
51     .wrap:hover .box{
52         transform: translateZ(-100px) rotateX(270deg);
53     }
54     </style>
55 </head>
56 <body>
57     <div class="wrap">
58         <div class="box">
59             <div>1</div>
60             <div>2</div>
61             <div>3</div>
62             <div>4</div>
63         </div>
64     </div>
65 </body>
66 </html>

 

转载于:https://www.cnblogs.com/jiujiaoyangkang/p/5809818.html

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值