旋转后应用 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
我一直认为 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