transform
试一试
语法
css
/* Keyword values */
transform: none;
/* Function values */
transform: matrix(1, 2, 3, 4, 5, 6);
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
transform: perspective(17px);
transform: rotate(0.5turn);
transform: rotate3d(1, 2, 3, 10deg);
transform: rotateX(10deg);
transform: rotateY(10deg);
transform: rotateZ(10deg);
transform: translate(12px, 50%);
transform: translate3d(12px, 50%, 3em);
transform: translateX(2em);
transform: translateY(3in);
transform: translateZ(2px);
transform: scale(2, 0.5);
transform: scale3d(2.5, 1.2, 0.3);
transform: scaleX(2);
transform: scaleY(0.5);
transform: scaleZ(0.3);
transform: skew(30deg, 20deg);
transform: skewX(30deg);
transform: skewY(1.07rad);
/* Multiple function values */
transform: translateX(10px) rotate(10deg) translateY(5px);
transform: perspective(500px) translate(10px, 0, 20px) rotateY(3deg);
/* Global values */
transform: inherit;
transform: initial;
transform: revert;
transform: revert-layer;
transform: unset;
transform
属性可以指定为关键字值 none
或一个或多个 <transform-function>
值。
值
<transform-function>
-
要应用的一个或多个 CSS 变换函数。变换函数按从左到右的顺序相乘,这意味着复合变换实际上是 按从右到左的顺序应用 的。
none
-
指定不应应用任何变换。
无障碍访问
缩放/缩放动画对于可访问性来说是有问题的,因为它们是某些类型偏头痛的常见触发因素。如果您需要在您的网站上包含此类动画,您应该提供一个控件以允许用户关闭动画,最好是站点范围的。
此外,请考虑使用 prefers-reduced-motion
媒体特性 - 使用它编写一个 媒体查询,如果用户在其系统首选项中指定了减少动画,则该查询将关闭动画。
了解更多
正式定义
正式语法
transform =
none |
<transform-list>
<transform-list> =
<transform-function>+
示例
平移和旋转元素
HTML
html
<div>Transformed element</div>
CSS
css
div {
border: solid red;
transform: translate(30px, 20px) rotate(20deg);
width: 140px;
height: 60px;
}
结果
变换顺序
变换函数的顺序很重要。在此示例中,两个框都按相同的值旋转和平移;仅变换函数顺序不同。
HTML
html
<div class="original"></div>
<div class="one">1</div>
<div class="two">2</div>
CSS
css
.one {
transform: translateX(200px) rotate(135deg);
}
.two {
transform: rotate(135deg) translateX(200px);
}
结果
当元素在平移之前旋转时,平移方向位于旋转轴上。轴用虚线表示。
更多示例
请参阅使用 CSS 变换和<transform-function>
以获取更多示例。
规范
规范 |
---|
CSS 变换模块级别 2 # transform-functions |
CSS 变换模块级别 1 # transform-property |
浏览器兼容性
BCD 表格仅在浏览器中加载