经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
2D变形CSS3 transform---移动 translate(x, y), 缩放 scale(x, y), 旋转 rotate(deg), transform-origin, 倾斜 skew(deg, deg)
来源:cnblogs  作者:jane_panyiyun  时间:2019/11/14 11:58:26  对本文有异议

transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、倾斜、缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能靠Flash才可以实现的效果。

变形转换 transform transform 变换 变形的意思 《 transformers 变形金刚》

 

1. 移动 translate(x, y)

translate 移动平移的意思

 

  1. translate(50px,50px);

使用translate方法来将文字或图像在水平方向和垂直方向上分别垂直移动50像素。

可以改变元素的位置,x、y可为负值;

 

  1. translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)
  2. translateX(x)仅水平方向移动(X轴移动)
  3. translateY(Y)仅垂直方向移动(Y轴移动)

 

案例: 让定位的盒子水平居中

  1. .box {
  2. width: 499.9999px;
  3. height: 400px;
  4. background: pink;
  5. position: absolute;
  6. left:50%;
  7. top:50%;
  8. transform:translate(-50%,-50%); /* 走的自己的一半 */
  9. }

 

 

2. 缩放 scale(x, y)

 

  1. transform:scale(0.8,1);

 

可以对元素进行水平和垂直方向的缩放。该语句使用scale方法使该元素在水平方向上缩小了20%,垂直方向上不缩放。

 

  1. scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)
  2. scaleX(x)元素仅水平方向缩放(X轴缩放)
  3. scaleY(y)元素仅垂直方向缩放(Y轴缩放)

 

scale()的取值默认的值为1,当值设置为0.01到0.99之间的任何值,作用使一个元素缩小;而任何大于或等于1.01的值,作用是让元素放大 1.

 

3. 旋转 rotate(deg)

可以对元素进行旋转,正值为顺时针,负值为逆时针;

  1. transform:rotate(45deg);

注意单位是 deg 度数

 

 

4. transform-origin可以调整元素转换变形的原点

 

  1. div{transform-origin: left top;transform: rotate(45deg); } /* 改变元素原点到左上角,然后进行顺时旋转45度 */

 

如果是4个角,可以用 left top这些,如果想要精确的位置, 可以用 px 像素。

 

  1. div{transform-origin: 10px 10px;transform: rotate(45deg); } /* 改变元素原点到x 为10 y 为10,然后进行顺时旋转45度 */

 

案例旋转楚乔传

  1. div {
  2. width: 250px;
  3. height: 170px;
  4. border: 1px solid pink;
  5. margin: 200px auto;
  6. position: relative;
  7.  
  8. }
  9. div img {
  10. width: 100%;
  11. height: 100%;
  12. position: absolute;
  13. top: 0;
  14. left: 0;
  15. transition: all 0.6s;
  16. transform-origin: top right;
  17. }
  18. div:hover img:nth-child(1) { /* 鼠标经过div 第一张图片旋转 */
  19. transform: rotate(60deg);
  20. }
  21. div:hover img:nth-child(2) {
  22. transform: rotate(120deg);
  23. }
  24. div:hover img:nth-child(3) {
  25. transform: rotate(180deg);
  26. }
  27. div:hover img:nth-child(4) {
  28. transform: rotate(240deg);
  29. }
  30. div:hover img:nth-child(5) {
  31. transform: rotate(300deg);
  32. }
  33. div:hover img:nth-child(6) {
  34. transform: rotate(360deg);
  35. }

 

5. 倾斜 skew(deg, deg)

  1. transform:skew(30deg,0deg);

 

该实例通过skew方法把元素水平方向上倾斜30度,处置方向保持不变。

可以使元素按一定的角度进行倾斜,可为负值,第二个参数不写默认为0。

 

原文链接:http://www.cnblogs.com/jane-panyiyun/p/11855301.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号