拥有属性似乎有点反直觉,这些属性本身就是关键:值对,组合在一起.特别是因为它们中的大多数都是完全不同的,只要你知道如何写它,它们仍然可以同时使用.如果我不清楚我在说什么,我的问题是这个.为什么如下:
- transform: rotate(40deg) scaleX(1,5) translate(-10px,20px);
不是这样写的:
- rotation: 40deg;
- scaleX: 1.5;
- translate: -10px 20px;
解决方法
那是因为变换不是可交换的.因此,订单很重要.
例如,如果在旋转后使用平移,则平移方向也将旋转.
- .first::after {
- transform: rotate(180deg) translateX(50px);
- }
- .second::after {
- transform: translateX(50px) rotate(180deg);
- }
- body {
- display: flex;
- flex-direction: space-around;
- }
- div {
- height: 100px;
- width: 100px;
- border: 5px solid;
- margin: 25px auto;
- }
- div::after {
- content: 'Hello';
- display: block;
- height: 100%;
- width: 100%;
- background: yellow;
- opacity: .5;
- }
- .first::after {
- transform: rotate(180deg) translateX(50px);
- }
- .second::after {
- transform: translateX(50px) rotate(180deg);
- }
- <div class="first"></div>
- <div class="second"></div>
使用不同的CSS属性,您无法选择所需的顺序.这是0700的限制BoltClock mentioned,规格defines an order,你无法改变它.