旋转后应用 css 缩放

Applying css scale afer rotate

我一直认为 CSS 变换操作会按顺序进行,所以看到 transform: rotate(45deg) scaleX(2) 显示的是旋转矩形而不是菱形,我有点惊讶。

将比例应用于父元素时有效。但是我的问题是: 如何转换

示例(它如何不起作用):https://jsfiddle.net/avpqjL0y/1/

您可以按此顺序使用缩放和旋转,以获得您的结果。

#main {
  display:flex;
  justify-content:center;
  align-items: center;
  height:100vh;
}
#inner {
  width:100px;
  height:100px;
  background-color: #f00;
  transform:scaleX(.8) rotate(45deg);
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="main">
    <div id="inner"></div>
  </div>
</body>
</html>

您必须使用 scaleX 的 scale instate ;)

div {
//...
    transform: rotate(45deg) scale(2) 

    }

只需滑动变换中值的顺序 属性:

transform: scaleX(2) rotate(45deg)

变换从右到左执行。参见:How to apply multiple transforms in CSS?

你也可以使用@keyframes来达到这个效果。参见:https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes