2D
转换2D
转换是改变标签在二维平面上的位置和形状css
转换(transform)是CSS3中具备颠覆性的特征之一,能够实现元素的位移、旋转、变形、缩放。css3
移动: translate
markdown
旋转: rotate
学习
缩放: scale
spa
倾斜:skew
code
2D转换是改变标签在二维平面上的位置和形状的一种技术,先来学习二维坐标系orm
2D
转换之 translate
2D移动是2D转换里面的一种功能,能够改变元素在页面中的位置,相似定位。开发
translate
语法transform: translate(x, y)
transform: translateX(n)
transfrom: translateY(n)
复制代码
2D
的移动主要是指 水平、垂直方向上的移动translate
最大的优势就是不影响其余元素的位置translate
中的100%单位,是相对于自己的宽度和高度来进行计算的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)
}
复制代码
2D 转换 rotate
2D
旋转指的是让元素在二维平面内顺时针或者逆时针旋转rotate
语法使用步骤:it
给元素添加转换属性 transform
io
属性值为 rotate(角度)
如 transform:rotate(30deg)
顺时针方向旋转30度
/* 单位是:deg */
transform: rotate(度数)
复制代码
rotate
里面跟度数,单位是 deg
transform-origin
基础语法/* 设置旋转中心点*/
transform-origin: x y;
复制代码
center
center
top
、bottom
、left
、right
、center
)img:hover {
transform: rotate(360deg)
}
复制代码
2D
转换之 scale
scale
的做用transform: scale(x, y)
复制代码
transform: scale(1, 1)
: 宽高都放大一倍,至关于没有放大transform: scale(2, 2)
: 宽和高都放大了二倍transform: scale(2)
: 若是只写了一个参数,第二个参数就和第一个参数一致transform:scale(0.5, 0.5)
: 缩小scale
最大的优点:能够设置转换中心点缩放,默认以中心点缩放,并且不影响其余盒子div:hover {
/* 注意,数字是倍数的含义,因此不须要加单位 */
/* transform: scale(2, 2) */
/* 实现等比缩放,同时修改宽与高 */
/* transform: scale(2) */
/* 小于 1 就等于缩放*/
transform: scale(0.5, 0.5)
}
复制代码
2D
转换综合写法以及顺序问题transform: translate() rotate() scale()
div:hover {
transform: translate(200px, 0) rotate(360deg) scale(1.2)
}
复制代码