微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 为什么“转换”属性分组?

拥有属性似乎有点反直觉,这些属性本身就是关键:值对,组合在一起.特别是因为它们中的大多数都是完全不同的,只要你知道如何写它,它们仍然可以同时使用.如果我不清楚我在说什么,我的问题是这个.为什么如下:
transform: rotate(40deg) scaleX(1,5) translate(-10px,20px);

不是这样写的:

rotation: 40deg;
scaleX: 1.5;
translate: -10px 20px;

这样,每个属性都可以自己操作,而无需跟踪兄弟值. W3必须有一个很好的理由选择这种方法,所以有人都知道吗?

解决方法

那是因为变换不是可交换的.因此,订单很重要.

例如,如果在旋转后使用平移,则平移方向也将旋转.

.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,你无法改变它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。