변환 변환 회전 순서

mfarhan

저는 3D 큐브를 만드는 프로젝트를 진행하고있었습니다. CSS에서 실수를 찾기 위해 몇 시간을 보냈습니다. 나는 아무것도 찾을 수 없었다. 그런 다음 코드를 조작하기 시작했습니다. 회전하기 전에 변환을 사용 transform: translateX(value px) rotateY(value deg);하면 결과가 깨진 큐브가 될 것입니다. 큐브의 상단, 오른쪽 및 왼쪽에만 영향을 미칩니다. 입방체의 바닥과 뒷면에 역효과가있는 반면, 즉 transform: rotateX(vlaue deg) translateY(value px);나에게 뒤와 바닥이 무너지고 있습니다. 다음은 JSFiddle 입니다.

아말

도움이 되었기를 바랍니다

두 가지 변환 순서를 고려하십시오.

  1. transform: translateX(value px) rotateY(value deg);

이 경우 rotateY를 먼저 수행 한 다음 translateX를 수행하면 transform-origin속성 때문에 큐브가 깨져서 제거하면 완벽합니다.

transform-origin 속성을 변환 변환 함수에 적용하면 결과에 뚜렷한 시각적 차이가 없습니다. 이는 변형의 영향을받는 요소가 모양, 크기 또는 회전을 변경하지 않고 이동되기 때문입니다.

.wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-perspective: 800px;
          perspective: 800px;
  -webkit-perspective-origin: 50%  100px;
          perspective-origin: 50%  100px;
  margin-top: 150px;
}

.cube {
  position: relative;
  width: 200px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-animation: spin 10s linear infinite;
          animation: spin 10s linear infinite;
}

.cube div {
  position: absolute;
  width: 200px;
  height: 200px;
  text-align: center;
  color: #66cc00;
  background: pink;
}

.cube .back {
  -webkit-transform: translateZ(-100px) rotateY(180deg);
          transform: translateZ(-100px) rotateY(180deg);
}

.cube .front {
  -webkit-transform: translateZ(100px);
          transform: translateZ(100px);
}

.cube .right {
  -webkit-transform: translateX(100px) rotateY(-270deg);
          transform: translateX(100px) rotateY(-270deg);
}

.cube .left {
  -webkit-transform: translateX(-100px) rotateY(270deg);
          transform: translateX(-100px) rotateY(270deg);
}

.cube .top {
  -webkit-transform: translateY(-100px) rotateX(-90deg);
          transform: translateY(-100px) rotateX(-90deg);
}

.cube .bottom {
  -webkit-transform: translateY(100px) rotateX(90deg);
          transform: translateY(100px) rotateX(90deg);
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  to {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  to {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
    <div class="wrap">
      <div class="cube">
        <div class="front">front</div>
        <div class="back">back</div>
        <div class="top">top</div>
        <div class="bottom">bottom</div>
        <div class="left">left</div>
        <div class="right">right</div>
      </div>
    </div>

2.transform: rotateX(value deg) translateY(value px);

이 경우 translateY를 먼저 한 다음 rotateX를 수행하므로 transform-origin 속성이 필요하며 변형 된 요소의 위치를 ​​변경할 수 있습니다.

여기서 transform-origin은 두 번째로 rotateX에 적용됩니다. 따라서 transform-origin은 전체 요소를 이동하는 대신 요소가 변환되는 지점을 변경합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

회전 후 변환

분류에서Dev

스냅 SVG에서 회전 변환

분류에서Dev

Python 사전을 순서도로 변환

분류에서Dev

X에서 Z 축으로 변환 회전 변경

분류에서Dev

CSS 3D 아이소 메트릭 단순 회전 변환

분류에서Dev

개체 회전 및 변환

분류에서Dev

변환 회전 (Slerp)-Unity

분류에서Dev

C # 회전 (변환) 문제

분류에서Dev

CSS 전환 변환 회전 버그

분류에서Dev

WPF-회전 변환 전환

분류에서Dev

Firefox에서 CSS 변환 회전 픽셀 문제

분류에서Dev

PHP : DB에서 값 조회 및 데이터 삽입 전 변환

분류에서Dev

Android에서 복합 뷰 회전, 변환 및 호출

분류에서Dev

특정 지점에서 회전 및 변환

분류에서Dev

openGL에서 매트릭스 회전 / 변환 / 크기 조정

분류에서Dev

회전 변환에서 Unity 2D 레이 캐스팅

분류에서Dev

IE에서 CSS 변환을 사용하여 div 요소 회전

분류에서Dev

180º firefox 및 Opera에서 svg matrix3d 변환 회전 예

분류에서Dev

JavaScript에서 예상 한 결과를 반환하지 않는 DOMPoint 변환 (회전)

분류에서Dev

CSS 전환 변환

분류에서Dev

찾기 순서 변환 ... -exec

분류에서Dev

C ++의 Boost.Geometry에서 다각형 변환 : 선을 중심으로 변환, 회전, 반사

분류에서Dev

CSS 변환 (회전) 오작동

분류에서Dev

CSS 변환 회전 및 위치 변환 오류

분류에서Dev

회전 변환 루프 처리에서 작동하지 않는다

분류에서Dev

절대 위치에서 여백 문제를 일으키는 CSS 회전 변환

분류에서Dev

큐 비트 연산에서 축 각도 Bloch 구 회전으로 변환

분류에서Dev

원형 방식으로 회전하면서 원점 CSS 이동 변환

분류에서Dev

iOS에서 변환 회전 무효화 이미지 렌더링 효과보기

Related 관련 기사

뜨겁다태그

보관