首頁  >  文章  >  web前端  >  HTML與CSS中的3D轉換模組

HTML與CSS中的3D轉換模組

php中世界最好的语言
php中世界最好的语言原創
2018-03-13 11:45:401570瀏覽

這次帶給大家HTML與CSS中的3D轉換模組,使用HTML與CSS中的3D轉換模組注意事項有哪些,以下就是實戰案例,一起來看一下。

文中的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>

HTML與CSS中的3D轉換模組

     正方體(有瑕疵,僅供了解)

三. 正方體(終極方案)

旋轉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中的3D轉換模組

#相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

HTML與CSS中的過渡模組

#HTML與CSS中2D轉換模組

以上是HTML與CSS中的3D轉換模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn