ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CSS3之2D变形

2021-09-03 23:31:48  阅读:189  来源: 互联网

标签:CSS3 rotate container img 缩放 变形 元素 transform 2D


2D变形(CSS3)

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

移动 translate(x, y)

translate(50px,50px);

使用translate方法来将文字或图像在水平方向和垂直方向上分别垂直移动50像素。
可以改变元素的位置,x、y可为负值;

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

让定位的盒子水平居中:

.box {
  width: 499.9999px;
  height: 400px;
  background: pink;
  position: absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);  /* 走的自己的一半 */
}

缩放 scale(x, y)

transform:scale(0.8,1);

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

transform: scale(2);  /*如果只写一个参数, 宽度和高度都缩放*/
scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)
scaleX(x)元素仅水平方向缩放(X轴缩放)
scaleY(y)元素仅垂直方向缩放(Y轴缩放)

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

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

transform:rotate(45deg);

当元素旋转以后,坐标轴也跟着发生的转变

调整顺序可以解决,把旋转放到最后

注意单位是 deg 度数

案例旋转扑克牌

body {
  background-color: skyblue;
}
.container {
  width: 100px;
  height: 150px;
  border: 1px solid gray;
  margin: 300px auto;
  position: relative; 
}
.container > img {
  display: block;
/* 让图片占据整个盒子: */
  width: 100%;
  height: 100%; 
  position: absolute;
/* 旋转的中心点:右上 */
  transform-origin: top right;
  /* 添加过渡 */
  transition: all 1s;
}

/* 鼠标放上去,第一张图片旋转60度 */
.container:hover img:nth-child(1) {
  transform: rotate(60deg);
}
.container:hover img:nth-child(2) {
  transform: rotate(120deg);
}
.container:hover img:nth-child(3) {
  transform: rotate(180deg);
}
.container:hover img:nth-child(4) {
  transform: rotate(240deg);
}
.container:hover img:nth-child(5) {
  transform: rotate(300deg);
}
.container:hover img:nth-child(6) {
  transform: rotate(360deg);
}

倾斜 skew(deg, deg)

transform:skew(30deg,0deg);

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

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

5.transform-origin可以调整元素转换的原点

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

标签:CSS3,rotate,container,img,缩放,变形,元素,transform,2D
来源: https://www.cnblogs.com/itfhcn/p/15225393.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有