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

HTML與CSS中2D轉換模組

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

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

一. 2D轉換模組

2D轉換模組

/*其中deg是單位, 代表多少度*/
transform: rotate(45deg);/*
第一個參數:水平方向
第二個參數:垂直方向
*/transform: translate(100px, 0px);/*
第一個參數:水平方向
第二參數:垂直方向
注意點:
如果取值是1, 代表不變
如果取值大於1, 代表需要放大
如果取值小於1, 代表需要縮小
如果水平和垂直縮放都一樣, 那麼可以簡寫為一個參數
*//*transform: scale(0.5, 0.5);*/transform: scale(1.5);/*
注意點:
1.如果需要進行多個轉換, 那麼用空格隔開
2.2D的轉換模組會修改元素的坐標系, 所以旋轉之後再平移就不是水平平移的
*/transform: rotate(45deg ) translate(100px, 0px);


#2D轉換模組

HTML與CSS中2D轉換模組

二.2D 轉換模組-形變中心點

預設情況下所有的元素都是以自己的中心點作為參考來旋轉的, 我們可以透過形變中心點屬性來修改它的參考點

/*
第一个参数:水平方向
第二个参数:垂直方向
注意点
取值有三种形式
具体像素
百分比
特殊关键字
*/
/*transform-origin: 200px 0px;*/
/*transform-origin: 50% 50%;*/
/*transform-origin: 0% 0%;*/
/*transform-origin: center center;*/
transform-origin: left top;


HTML與CSS中2D轉換模組

三.透視屬性(perspective: 500px;) 和旋轉軸向(transform: rotateY(45deg);)

1.perspective: 500px ;

1.1什麼是透視

近大遠小

1.2.注意點

#一定要注意, 透視屬性必須加入到需要呈現近大遠小效果的元素的父元素上面

2.transform: rotateY(45deg);

想圍繞哪個軸旋轉, 那麼只需要在rotate後面加上哪個軸即可;

程式碼範例:

<html lang="en"> <head>     
<meta charset="UTF-8">     
<title>95-2D转换模块-旋转轴向</title>     
<style>         
*{             margin: 0;             padding: 0;         }         
ul{             width: 800px;             height: 500px;             margin: 0 auto;         }         
ul li{             list-style: none;             width: 200px;             height: 200px;             margin: 0 auto;             margin-top: 50px;             border: 1px solid #000;             
/*             1.什么是透视             近大远小            
2.注意点             一定要注意, 透视属性必须添加到需要呈现近大远小效果的元素的父元素上面             */
             perspective: 500px;         }         ul li img{             width: 200px;             height: 200px;             
             /*perspective: 500px;*/
                      }         ul li:nth-child(1){             
                      /*默认情况下所有元素都是围绕Z轴进行旋转*/
                                   transform: rotateZ(45deg);         }         ul li:nth-child(2) img{             transform: rotateX(45deg);         }         ul li:nth-child(3) img{             /*             总结:             想围绕哪个轴旋转, 那么只需要在rotate后面加上哪个轴即可             */             transform: rotateY(45deg);         }     </style> </head> <body> <ul>     <li>![](images/rotateZ.jpg)</li>     <li>![](images/rotateX.jpg)</li>     <li>![](images/rotateY.jpg)</li> </ul> </body> </html>


HTML與CSS中2D轉換模組

#四.撲克牌練習

<html lang="en"> 
<head>     
<meta charset="UTF-8">     
<title>96-2D转换模块-练习</title>
     <style>         
     *{             margin: 0;             padding: 0;         }         
     p{             width: 310px;             height: 438px;             border: 1px solid #000;             
     background-color: skyblue;             margin: 100px auto;             perspective: 500px;         }              
              p img{             transform-origin: center bottom;             transition: transform 1s;         }
                       p:hover img{             transform: rotateX(80deg);         }     
                       </style> </head> <body> <p>     ![](images/pk.png) </p> 
    </body> 
</html>



HTML與CSS中2D轉換模組

#五. 照片牆

<html lang="en">
 <head>
      <meta charset="UTF-8">
           <title>97-2D转换模块-相片墙</title>
                <style>
                         *{             margin: 0;             padding: 0;         }
                                  ul{             height: 400px;             border: 1px solid #000;
                                    background-color: skyblue;             margin-top: 100px;
                                     text-align: center;         }
                               ul li{             list-style: none; 
                                           width: 150px;             height: 200px;             
                                           background-color: red;             display: inline-block;
                                            //转换成行内块级元素,用于水平排版            
                                    margin-top: 100px;             transition: all 1s;            
                                     position: relative;             box-shadow: 0 0 10px;         }        
                                   ul li:nth-child(1){             transform: rotate(30deg);         } 
                                   ul li:nth-child(2){             transform: rotate(-40deg);         } 
                                   ul li:nth-child(3){             transform: rotate(10deg);         }
                                   ul li:nth-child(4){             transform: rotate(45deg);         }         
                                   ul li img{             width: 150px;             height: 200px; 
                                               border: 5px solid #fff;             box-sizing: border-box;
                                                        }         
                                   ul li:hover{             /*transform: rotate(0deg);*/  
                                              /*transform: none;*/             transform: scale(1.5);
                                               //之前的旋转被层叠掉, 只执行放大             
                                               z-index: 998;  
                                               //显示在最上面
                                               }   
             </style> 
    </head> 
    <body> 
              <ul> 
                <li>![](images/1.jpg)</li>     
                <li>![](images/2.jpg)</li>     
                <li>![](images/3.jpg)</li>     
                <li>![](images/4.jpg)</li> 
              </ul>
     </body> 
</html>

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

推薦閱讀:

 網頁的佈局方式之清除浮動

 網頁的佈局方式與浮動

#HTML與CSS的盒子模型

#CSS的背景與精靈圖

#

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

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