1. 2D
转换
-
2D
转换是改变标签在二维平面上的位置和形状 -
转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、变形、缩放。
-
移动:
translate
-
旋转:
rotate
-
缩放:
scale
-
倾斜:
skew
-
1.1.二维坐标系
2D转换是改变标签在二维平面上的位置和形状的一种技术,先来学习二维坐标系
2. 2D
转换之 translate
2D移动是2D转换里面的一种功能,可以改变元素在页面中的位置,类似定位。
2.1. translate
语法
- x 就是 x 轴上水平移动
- y 就是 y 轴上水平移动
transform: translate(x, y)
transform: translateX(n)
transfrom: translateY(n)
2.2. 重点知识点
2D
的移动主要是指 水平、垂直方向上的移动translate
最大的优点就是不影响其他元素的位置translate
中的100%单位,是相对于本身的宽度和高度来进行计算的- 行内标签没有效果
2.3. 代码演示
div {
background-color: lightseagreen;
width: 200px;
height: 100px;
/* 平移 */
/* 水平垂直移动 100px */
/* transform: translate(100px, 100px); */
/* 水平移动 100px */
/* transform: translate(100px, 0) */
/* 垂直移动 100px */
/* transform: translate(0, 100px) */
/* 水平移动 100px */
/* transform: translateX(100px); */
/* 垂直移动 100px */
transform: translateY(100px)
}
3.2D 转换 rotate
3.1. rotate 旋转
2D
旋转指的是让元素在二维平面内顺时针或者逆时针旋转
3.2. rotate
语法
使用步骤:
-
给元素添加转换属性
transform
-
属性值为
rotate(角度)
如transform:rotate(30deg)
顺时针方向旋转30度/* 单位是:deg */ transform: rotate(度数)
3.3. 重点知识点
rotate
里面跟度数,单位是deg
- 角度为正时,顺时针,角度为负时,逆时针
- 默认旋转的中心点是元素的中心点
- 通过左手法则,大拇指朝正轴方向,判断正反方向
3.4.设置旋转中心点
3.4.1.transform-origin
基础语法
/* 设置旋转中心点*/
transform-origin: x y;
3.4.2.重要知识点
- 注意后面的参数 x 和 y 用空格隔开
- x y 默认旋转的中心点是元素的中心 (50% 50%),等价于
center
center
- 还可以给 x y 设置像素或者方位名词(
top
、bottom
、left
、right
、center
)
3.5. 代码演示
img:hover {
transform: rotate(360deg)
}
3.6.css3三角
- 实现三角的方式有很多种:例如图标、文字符号、边框加旋转、纯边框…
- 日常开发中,最常用的是图标方式,最不常使用文字符号实现
4.2D
转换之 scale
4.1. scale
的作用
- 用来控制元素的放大与缩小
4.2. 语法
transform: scale(x, y)
4.3. 知识要点
- 注意,x 与 y 之间使用逗号进行分隔
transform: scale(1, 1)
: 宽高都放大一倍,相当于没有放大transform: scale(2, 2)
: 宽和高都放大了二倍transform: scale(2)
: 如果只写了一个参数,第二个参数就和第一个参数一致transform:scale(0.5, 0.5)
: 缩小scale
最大的优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子
4.4. 代码演示
div:hover {
/* 注意,数字是倍数的含义,所以不需要加单位 */
/* transform: scale(2, 2) */
/* 实现等比缩放,同时修改宽与高 */
/* transform: scale(2) */
/* 小于 1 就等于缩放*/
transform: scale(0.5, 0.5)
}
5. 2D
转换综合写法以及顺序问题
5.1. 知识要点
- 同时使用多个转换,其格式为
transform: translate() rotate() scale()
- 顺序会影响到转换的效果(先旋转会改变坐标轴方向)
- 但我们同时有位置或者其他属性的时候,要将位移放到最前面
5.2. 代码演示
div:hover {
transform: translate(200px, 0) rotate(360deg) scale(1.2)
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!