Home >Web Front-end >HTML Tutorial >2D conversion module in HTML and CSS

2D conversion module in HTML and CSS

php中世界最好的语言
php中世界最好的语言Original
2018-03-13 11:36:141812browse

This time I will bring you the 2D conversion module in HTML and CSS. What are the precautions for the 2D conversion module in HTML and CSS. The following is a practical case, let's take a look.

1. 2D conversion module

2D conversion module

/*where deg is the unit, representing how many degrees*/
transform: rotate(45deg);/*
First parameter: Horizontal direction
Second parameter: Vertical direction
*/transform: translate(100px, 0px);/*
First parameter: Horizontal direction
Two parameters: vertical direction
Note:
If the value is 1, it means no change
If the value is greater than 1, it means it needs to be enlarged
If the value is less than 1, it means it needs to be reduced
If the horizontal and vertical scaling are the same, then it can be abbreviated as a parameter
*//*transform: scale(0.5, 0.5);*/transform: scale(1.5);/*
Note:
1. If multiple transformations are required, separate them with spaces.
2. The 2D transformation module will modify the coordinate system of the element, so the translation after rotation is not a horizontal translation.
*/transform: rotate(45deg ) translate(100px, 0px);


2D conversion module

2D conversion module in HTML and CSS

##2. 2D conversion module- Deformation center point

By default, all elements rotate based on their own center point. We can modify its reference point through the deformation center point attribute

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


2D conversion module in HTML and CSS

3. Perspective attribute (perspective: 500px;) and rotation axis (transform: rotateY(45deg);)

1.perspective: 500px ;

1.1 What is perspective

Near large and far small

1.2. Notes

Be sure to note that the perspective attribute must be added to the object that needs to render near large Above the parent element of the far-small effect element

2.transform: rotateY(45deg);

Which axis do you want to rotate around, then you only need to add which axis after rotate;

Code example:

<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>


2D conversion module in HTML and CSS

4. Poker practice

<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>



2D conversion module in HTML and CSS

5. Photo Wall

<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>

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

The layout of web pages and clearing floats

The layout of web pages and floating

HTML and CSS box model

CSS background and sprites

The above is the detailed content of 2D conversion module in HTML and CSS. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn