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

转载于:https://www.cnblogs.com/qjuly/p/9038636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值