如何位移一个旋转后的元素?

发布于 2022-09-06 21:46:39 字数 272 浏览 15 评论 0

我有两个元素,一个父元素,一个子元素.
父元素旋转了N度.
这时我要移动子元素的定位,它会相对父元素来进行移动.
我如何计算出偏移值.让它相对窗口定位来移动.
抱歉表述不清...画了个图:图片描述

图中文字应该是右移...抱歉,我已经傻到连左右都不分了...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

许久 2022-09-13 21:46:39
    body{
      padding: 200px;
      margin: 0
    }
    .box,.box1{
      width: 150px;
      height: 150px;
    }
    .box2{
      position: absolute;
      left: 20px;
      width: 20px;
      top: 65px;
      height: 20px;
      background: #000;
      z-index: 2;
      transform: rotate(-45deg)translateX(32px)rotate(45deg);
    }
    .box1{
      transform: rotate(45deg);
      background: #ddd;   
    }
    
  <div class="box">
    <div class="box1">
      <div class="box2"></div>
    </div>
  </div>
锦欢 2022-09-13 21:46:39

你觉得你表达清楚了吗?

最丧也最甜 2022-09-13 21:46:39

让子元素相反角度旋转就好了嘛
你情况如果允许 应该用父级来位移 子元素来旋转 这样产生的影响最小

赠我空喜 2022-09-13 21:46:39

有人说了一种思路就是将子元素反方选旋转相同角度,然后再位移。

我来提供另一种直男思路。

假设你旋转了n度,想要向右位移xpx,你可以这么写:

transform: translate(x*cos(n)px, -x*sin(n)px)

当然css很难满足你,虽然用sass可以模拟出sin,cos的效果.

比较简单的方式就是直接用js来写.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文