鍍金池/ 問答/人工智能  數(shù)據(jù)分析&挖掘  HTML5  HTML/ 如何位移一個(gè)旋轉(zhuǎn)后的元素?

如何位移一個(gè)旋轉(zhuǎn)后的元素?

我有兩個(gè)元素,一個(gè)父元素,一個(gè)子元素.
父元素旋轉(zhuǎn)了N度.
這時(shí)我要移動(dòng)子元素的定位,它會(huì)相對(duì)父元素來進(jìn)行移動(dòng).
我如何計(jì)算出偏移值.讓它相對(duì)窗口定位來移動(dòng).
抱歉表述不清...畫了個(gè)圖:圖片描述

圖中文字應(yīng)該是右移...抱歉,我已經(jīng)傻到連左右都不分了...

回答
編輯回答
擱淺

你覺得你表達(dá)清楚了嗎?

2017年1月31日 20:50
編輯回答
壞脾滊

有人說了一種思路就是將子元素反方選旋轉(zhuǎn)相同角度,然后再位移。

我來提供另一種直男思路。

假設(shè)你旋轉(zhuǎn)了n度,想要向右位移xpx,你可以這么寫:

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

當(dāng)然css很難滿足你,雖然用sass可以模擬出sin,cos的效果.

比較簡(jiǎn)單的方式就是直接用js來寫.

2018年5月29日 04:05
編輯回答
疚幼

讓子元素相反角度旋轉(zhuǎn)就好了嘛
你情況如果允許 應(yīng)該用父級(jí)來位移 子元素來旋轉(zhuǎn) 這樣產(chǎn)生的影響最小

2017年10月18日 02:32
編輯回答
無標(biāo)題
    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>
2018年1月17日 15:04