HTML与CSS中的3D转换模块
发布时间:09/01 来源:未知 浏览:
关键词:
文中的img标签![](images/jacky/xin.png) 全部变成了macdown格局
一. 什么是2D和3D
1.什么是2D和3D
2D就是一个平面, 只要宽度和高度, 没有厚度
3D就是一个立体, 有宽度和高度, 还有厚度
默许状况下所有的元素都是呈2D展示的
2.怎样让某个元素呈3D展示
和透视一样, 想看到某个元素的3d结果, 只需要给他的父元素增加一个transform-style属性, 然后设定为preserve-3d即可
3.transform-style的取值:
flat:默许取值,二维的;
preserve-3d:3D结果;
<html lang="en"> <head> <meta charset="UTF-8"> <title>106-3D转换模块</title> <style> *{ margin: 0; padding: 0; } .father{ width: 200px; height: 200px; background-color: red; border: 1px solid #000; margin: 100px auto; perspective: 500px; transform-style: preserve-3d; transform: rotateY(0deg); } .son{ width: 100px; height: 100px; background-color: blue; border: 1px solid #000; margin: 0 auto; margin-top: 50px; transform: rotateY(45deg); } </style> </head> <body> <p class="father"> <p class="son"></p> </p> </body> </html>
二. 正方体(有瑕疵,页面文字显示有问题)
<html lang="en"> <head> <meta charset="UTF-8"> <title>107-3D转换模块-正方体</title> <style> *{ margin: 0; padding: 0; } ul{ width: 200px; height: 200px; border: 1px solid #000; box-sizing: border-box; margin: 100px auto; position: relative; transform: rotateY(0deg) rotateX(0deg); transform-style: preserve-3d; } ul li{ list-style: none; width: 200px; height: 200px; font-size: 60px; text-align: center; line-height: 200px; position: absolute; left: 0; top: 0; } ul li:nth-child(1){ background-color: red; transform: translateX(-100px) rotateY(90deg); } ul li:nth-child(2){ background-color: green; transform: translateX(100px) rotateY(90deg); } ul li:nth-child(3){ background-color: blue; transform: translateY(-100px) rotateX(90deg); } ul li:nth-child(4){ background-color: yellow; transform: translateY(100px) rotateX(90deg); } ul li:nth-child(5){ background-color: purple; transform: translateZ(-100px); } ul li:nth-child(6){ background-color: pink; transform: translateZ(100px); } </style> </head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </body> </html>
正方体(有瑕疵,仅供理解)
三. 正方体(终极方案)
扭转90度后,坐标系也跟着扭转了90度,故应当沿着z轴移动;
立体结果攻略:先扭转必然的度数,再沿z轴平移
<html lang="en"> <head> <meta charset="UTF-8"> <title>108-3D转换模块-正方体终极</title> <style> *{ margin: 0; padding: 0; } ul{ width: 200px; height: 200px; border: 1px solid #000; box-sizing: border-box; margin: 100px auto; position: relative; transform: rotateY(0deg) rotateX(0deg); transform-style: preserve-3d; } ul li{ list-style: none; width: 200px; height: 200px; font-size: 60px; text-align: center; line-height: 200px; position: absolute; left: 0; top: 0; } ul li:nth-child(1){ background-color: red; transform: rotateX(90deg) translateZ(100px); } ul li:nth-child(2){ background-color: green; transform: rotateX(180deg) translateZ(100px); } ul li:nth-child(3){ background-color: blue; transform: rotateX(270deg) translateZ(100px); } ul li:nth-child(4){ background-color: yellow; transform: rotateX(360deg) translateZ(100px); } ul li:nth-child(5){ background-color: purple; transform: translateX(-100px) rotateY(90deg); } ul li:nth-child(6){ background-color: pink; transform: translateX(100px) rotateY(90deg); } </style> </head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </body> </html>
信赖看了本案牍例你已经把握了办法,更多出色请关注百分百源码网其它相关文章!
引荐阅读:
HTML与CSS中的过渡模块
HTML与CSS中2D转换模块
以上就是HTML与CSS中的3D转换模块的具体内容,更多请关注百分百源码网其它相关文章!