父元素中同时使用 css3 transform 的 rotate 和 skew 后,子元素如何不受影响?

2017-09-29 15:56:58 +08:00
 jmyz0455

有一个父元素,使用了 css3 transform 的:

transform: rotateZ(-30deg) skewX(30deg);

结果这个元素的(与父元素宽高不相等的)子元素受到了影响,也旋转扭曲了。现在我想让子元素不受旋转扭曲,变回原来矩形的样子。于是我给子元素使用:

transform: rotateZ(30deg) skewX(-30deg);

答案是无法还原,子元素似乎扭曲更严重了。我发现父元素单独使用 rotate 或 skew 后,子元素都能用负值还原,但是唯独同时使用 rotate 和 skew 后,子元素无法还原。

详情可以看我这个 Demo,请各位帮忙解答一下。

3807 次点击
所在节点    前端开发
2 条回复
phy25
2017-09-29 20:38:32 +08:00
子元素改成 `transform: skewX(-30deg) rotateZ(30deg);`,显然 transform 是有顺序的。https://jsfiddle.net/zsvveq6g/
jmyz0455
2017-09-29 22:41:40 +08:00
@phy25 感谢,原来还要倒序,真是没想到,亏我还挠了一晚上脑袋,谢谢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/394630

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX