• css3--2D转换


    这里使用了transform模块可以对元素进行移动、缩放、转动、拉长或拉伸。

    提供了以下方法:

    • translate()
    • rotate()
    • scale()
    • skew()
    • matrix()

    translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css2D-translate</title>
        <style type="text/css">
         * {
           margin: 0;
           padding: 0;
         } 
         
         div {
           width: 100px;
           height: 75px;
           border: 1px solid black;
           background-color: red;
         }
         
        </style>
    </head>
    <body>
      <div>参照的div</div>
      <div>此div在原来的位置移动了x轴和y轴</div>
    </body>
    </html>

    效果如下:

    使用translate进行移动之后:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css2D-translate</title>
        <style type="text/css">
         * {
           margin: 0;
           padding: 0;
         } 
         
         div {
           width: 100px;
           height: 75px;
           border: 1px solid black;
           background-color: red;
         }
         
         div#example {
           transform: translate(50px, 100px); /*x轴50px y轴100px*/
           -ms-transform: translate(50px, 100px); /* IE9 */    
           -webkit-transform: translate(50px, 100px);/* Safari and Chrome */       
         }
         
        </style>
    </head>
    <body>
      <div>参照的div</div>
      <div id="example">此div在原来的位置移动了x轴和y轴</div>
    </body>
    </html>

    效果如下:

     translate值(50px,100px)是从左边元素移动50个像素,并从顶部移动100像素。

    rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css2D-rotate</title>
        <style type="text/css">
         * {
           margin: 0;
           padding: 0;
         } 
         
         div {
           width: 100px;
           height: 75px;
           border: 1px solid black;
           background-color: red;
         }
         
         div#example {
           transform: rotate(180deg);
           -ms-transform:rotate(180deg); /* IE 9 */
           -webkit-transform:rotate(180deg); /* Safari and Chrome */  
         }
         
        </style>
    </head>
    <body>
      <div>参照的div</div>
      <div id="example">旋转180deg的div</div>
    </body>
    </html>

    效果如下:

    rotate值(180deg)元素顺时针旋转180度。

    scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css2D-rotate</title>
        <style type="text/css">
         * {
           margin: 0;
           padding: 0;
         } 
         
         div {
           width: 200px;
           height: 100px;
           margin: 150px;
           border: 1px solid black;
           background-color: red;
           -ms-transform: scale(2,3);
           -webkit-transform: scale(2,3);
           transform: scale(2,3);
         }
         
        </style>
    </head>
    <body>
      <div>div元素的宽度是原始大小的两倍,高度是原始大小的三倍</div>
    </body>
    </html>

    效果如下:

     scale(2,3)转变宽度为原来的大小的2倍,和其原始大小3倍的高度。

    skew() 方法

    transform:skew(<angle> [,<angle>]);


    包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。

    • skewX(<angle>);表示只在X轴(水平方向)倾斜。
    • skewY(<angle>);表示只在Y轴(垂直方向)倾斜。
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"> 
    <title>css3 skew倾斜</title>  
    <style type="text/css">
      * {
          margin: 0;
          padding: 0;
      }
    
      div {
          width: 100px;
          height: 75px;
          border: 1px solid black;
          background-color: red;
      }
    
      div#div2 {
          transform: skew(30deg, 20deg);
          -ms-transform: skew(30deg, 20deg); /* IE9 */
          -webkit-transform: skew(30deg, 20deg);/* Safari and Chrome */
      }
    </style>
    </head>
    <body>
      <div>
        Hello This is a Div element
      </div>
      <div id="div2">
        Hello This is a Div element
      </div>
    </body>
    </html>

    效果如下:

    skew(30deg,20deg) 元素在X轴和Y轴上倾斜20度30度。

    matrix 

    矩阵可以用来表示图形的变换。css3定义了matrixmatrix3d方法,用来表示2维和3维的变换

    平移和缩放我们只需要更改x和y就可以

    如平移x轴:20 y轴30那么用矩阵写就是这样

    transform: matrix(1,0,0,1,20,30);

  • 相关阅读:
    笔记12:maven项目管理工具
    笔记11:Oracle基础
    笔记10:springMVC
    笔记9:spring
    笔记8:mybatis
    Bad Sequence
    Optimal Currency Exchange
    Two Small Strings
    Equalizing by Division (easy version)&&(hard version)
    Codeforce 1096:D. Easy Problem(DP,思维)
  • 原文地址:https://www.cnblogs.com/qjuly/p/9038636.html
Copyright © 2020-2023  润新知