CSS的常用单位及用法小结 1.绝对长度单位 绝对长度单位是一个固定的值,可以反映真实的物理尺寸。在CSS中,最常用的绝对长度单位是像素(px),其他绝对长度单位还包括毫米(mm)、厘米(cm)、英寸
顺晟科技
2022-09-13 12:10:32
142
一个炫酷的网页离不开css的transform、transition、animation三个属性,之前一直没有涉及到这块内容,刚好最近要做一个相关东西,趁此机会好好学一学这三个属性。
实现元素的平移、旋转、缩放或倾斜。
只能转换由盒模型定位的元素。
transform: none
不应用任何变换
transform: <transform-function>
应用一个或多个<transform-function>值,以空格分开
<transform-function>是啥?
它是css中的一种数据类型,用于对元素的显示做变换。包括二维变换和三维变换。
在介绍转换之前需要先介绍一下变形原点,即转换的基点。
(1) 语法
一个值:
必须是<length>, <percentage>, 或 left, center, right, top, bottom关键字中的一个。如果是<length>, <percentage>则表示x-offset,如果是keyword则表示其应有的意思。(即left、right是横向的,top、bottom是纵向的,center是中间的)
两个值:
三个值:
PS:keyword与value的值对应关系如下:
(2) 示例
(1) 语法
(2) 示例
<div class="transform-div"></div>
.transform-div {
width: 200px;
height: 200px;
background-color: orange;
transform: translate(300px, 10%);
}
(1) 语法
二维: rotate(a)
三维: rotate3d(x, y, z, a)
rotateX(a), rotateY(a), rotateZ(a):分别是rotate3D(1, 0, 0, a)
, rotate3D(0, 1, 0, a)
, rotate3D(0, 0, 1, a)
的简写。
(2) 示例
<div class="container">
<div class="line1"></div>
<div class="line2"></div>
<div class="transform-div"></div>
</div>
.container {
width: 400px;
height: 400px;
border: 4px solid;
position: relative;
}
.transform-div {
position: absolute;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
width: 200px;
height: 200px;
background-color: orange;
transition: all 1s;
transform: none;
opacity: 0.7;
}
.transform-div:hover {
transform: rotateY(-45deg);
}
.line1 {
position: absolute;
width: 100%;
height: 50%;
border-bottom: 2px solid;
}
.line2 {
position: absolute;
top: 0;
height: 100%;
width: 50%;
border-right: 2px solid;
}
(截图看到的效果不是很清晰,可以复制上述代码看一下旋转效果)
(1) 语法
二维: scale(sx) 或 scale(sx, sy)
三维: scale3d(sx, sy, sz)
(1) 语法
(2) 示例
【补充】CSS角度单位:deg(度)、grad(梯度)、rad(弧度)、turn(圆、圈)
180deg = 200grad = 0.5turn = Π
示例:
【解释】如上图所示,平移和旋转的顺序不同,得到的结果也不同。根本原因是,旋转时坐标系会跟着旋转。如下图:
【ps】只要不涉及旋转,那么顺序就无所谓,因为坐标系不会变。如果涉及到旋转,就要考虑顺序问题了,为了得到自己想要的效果,可以每次都把旋转放到最后。
19
2022-10
14
2022-09
14
2022-09
14
2022-09
14
2022-09
13
2022-09