키 테이크 아웃
CSS 위치의 주요 차이점 : 상대와 변환 : Translate ()는 다른 요소의 레이아웃에 어떤 영향을 미치는지에 있습니다. 위치 : 상대적으로 문서 흐름에서 요소의 위치를 변경하여 다른 요소에 잠재적으로 영향을 미치는 반면 변환 : translate ()는 다른 요소의 레이아웃에 영향을 미치지 않고 요소를 움직입니다.
CSS 변환 : Translate ()는 GPU (그래픽 프로세싱 장치) 가속도를 사용하여 애니메이션에 선호되므로 애니메이션이 부드럽고 성능이 향상됩니다. 또한 백분율 기반 값은 두 가지 방법 사이에 다르게 행동한다는 점에 주목할 가치가 있으며, 요소의 계산 너비 또는 높이의 백분율을 가져 오는 것은 번역됩니다.
모두 CSS 위치 : 상대 및 변환 : Translate ()는 동일한 요소에서 사용할 수 있습니다. 이 조합을 사용하면 페이지에 요소를 정확하게 배치하고 해당 위치를 추가로 수정할 수 있습니다. 이것은 요소 배치를위한 강력한 도구 세트입니다.
이 기사는 ATOZ CSS 시리즈의 일부입니다. 여기에서 시리즈의 다른 항목을 찾을 수 있습니다.
TranslateX에 대한 해당 비디오에 대한 전체 전사 및 스크린 캐스트를 볼 수 있습니다.
ATOZ CSS 시리즈에 오신 것을 환영합니다! 이 시리즈에서는 각각 다른 CSS 값 (및 속성)이 각각 알파벳 문자로 시작합니다. 우리는 때때로 스크린 캐스트가 충분하지 않다는 것을 알고 있습니다. 따라서이 기사에서는 번역과 위치의 차이점에 대한 빠른 팁을 추가했습니다.
x는 번역 및 위치 입니다
페이지에 요소를 배치하기위한 여러 CSS 속성이 있습니다. 여기에는 플로트, 마진 및 패딩과 같은 큰 그림 레이아웃 속성과 위치 및 Translate ()와 같은보다 세밀한 도구가 포함됩니다 ().
표면의 위치 : 위치 : 상대 및 변환 : Translate ()는 상당히 비슷한 방식으로 작동하는 것처럼 보이지만 파악하는 데 중요한 미묘한 차이가있어 작업에 적합한 도구를 선택합니다. -
번역과 위치의 차이점은 무엇입니까?
이 게시물에서는 요소 배치 방법들 사이의 여러 차이점을 살펴 보지만 먼저 이러한 다양한 속성이 무엇을하는지 명확히하겠습니다.
.
우리가 위치를 설정하는 경우 : 요소에 상대적으로 - 절대적으로
내부의 위치를 만들 수 있습니다. 이것은 아마도 상대적 위치를 더 흔하게 사용하는 것이지만 -
우리가 여기서 논의하는 사용은 아닙니다.
. 위치를 결합한 경우 : 오프셋 속성 중 하나와 상대적으로 오프셋 속성 중 하나, 하단, 왼쪽 또는 오른쪽 중 하나가 레이아웃의 원래 위치에서 이동 한 후 문서의 공간을 한 번 사용하는 공간을 보존합니다. 요소는 새 레이어로 이동하고 "레이어 순서"또는 스택 순서가 z-index 속성으로 제어 될 수 있습니다. .
위의 예에서 요소는 상단에서 100px로 이동하고 원래 위치의 왼쪽에서 50px로 이동합니다.
<:> 변환을 사용할 때 : 번역 (x, y) 우리는 상대 위치를 사용하는 것과 매우 유사한 시각적 결과를 얻습니다. 위와 동일한 결과는 다음과 같은 스 니펫으로 달성 될 수 있습니다.
<span><span>.thing</span> {
</span> <span>position: relative;
</span> <span>top: 100px;
</span> <span>left: 50px;
</span><span>}</span>
로그인 후 복사
이 경우 요소의 좌표를 x 축을 따라 50px로, y 축을 따라 100px로 변환합니다. 최종 결과는 이전 위치 예와 시각적으로 동일합니다.
그래서 왜 우리는 같은 일을하는 두 가지 방법이 있습니까? 글쎄,이 접근법들 사이에
가 가 있습니다
브라우저 지원
위치는 CSS2 속성이고 변환은 CSS3 속성입니다. 2D 변환을 지원하지 않는 유일한 브라우저는 IE8 이하입니다.
IE의 이전 버전을 지원 해야하는 경우 변환은 옵션이 아닙니다.
GPU 가속도
변환 속성은 가능한 경우 하드웨어 가속도를 사용하므로 Translate ()를 사용하면 위치에 애니메이션이나 전환이 요소에 사용되는 경우 성능 혜택이 표시됩니다.
전환 또는 키 프레임 애니메이션의 일부로 요소를 이동하려면 위치가 아닌 번역을 사용하는 것이 좋습니다 (이는 절대 및 상대 포지셔닝 모두에 적용됩니다). 설명 및 공연 프로파일 링을 포함하여 더 깊이 있으려면 Paul Irish 의이 비디오를 확인하십시오.
백분율 기반 값은 다르게 행동합니다
이 두 가지 요소를 배치하는 방법 사이의 주요 차이점 중 하나는 백분율 기반 값에 반응하는 방법입니다.
다음 마크 업과 스타일을 가져 가십시오 :
<span><span>.thing</span> {
</span> <span>transform: translate(50px, 100px);
</span><span>}</span>
로그인 후 복사
두 요소 모두 왼쪽 가장자리에서 50%에서 오프셋이 주어졌습니다.
빨간색 상자의 왼쪽 가장자리는 모 컨테이너의 가장자리에서 50% 떨어져 있습니다.
파란색 상자의 왼쪽 가장자리는 모 컨테이너의 왼쪽 가장자리에서 100px 떨어져 있습니다. 이 거리는 200px의 50%가 100px이기 때문입니다
번역으로 백분율 값을 설정하면 백분율은 계산 된 너비 또는 높이의 요소의 백분율로 측정됩니다.
Codepen에서 sitepoint (@sitepoint)의 펜 vyyxgj를 참조하십시오
위치를 결합하고 함께 번역
최종 요점 중 하나는 위치와 변환이 두 가지 다른 속성이기 때문에 함께 결합 할 수 있다는 것입니다. 이를 통해 절대 포지셔닝을 결합하여 요소를 페이지의 매우 구체적인 위치에 배치 한 다음 해당 위치를 변환으로 수정할 수 있습니다.
이것의 예는 배치 요소가 위아래로 또는 왼쪽과 오른쪽에 애니메이션을 갖는 것일 수 있습니다. 또는 포지셔닝과 번역을 결합하여 유연한 수직 센터링을 달성 할 수 있습니다.
따라서 요소를 배치하는이 두 가지 방법을 사용하여 유사한 결과를 달성 할 수 있지만, 몇 가지 중요한 차이점이 있으며 각 접근 방식의 강점을 결합하면 정말 강력한 도구 세트가됩니다.
.
CSS에 대한 자주 묻는 질문 (FAQ)은 vs 위치 에 대해 번역합니다
CSS 번역과 위치의 주요 차이점은 무엇입니까? CSS 번역과 위치의 주요 차이점은 요소의 위치를 조작하는 방법에 있습니다. CSS 위치는 문서 흐름에서 요소의 위치를 변경하여 다른 요소의 레이아웃에 영향을 줄 수 있습니다. 반면, CSS Translate는 다른 요소의 레이아웃에 영향을 미치지 않고 요소를 움직이는 변환 함수입니다. 문서 흐름의 실제 위치가 아닌 시각적 렌더링 위치가 변경됩니다.
위치 대신 CSS를 사용해야하는시기는 언제입니까? 다른 요소의 레이아웃에 영향을 미칩니다. 또한 더 나은 성능과 매끄러운 애니메이션을 홍보하기 때문에 애니메이션에도 도움이됩니다. Translate는 그래픽 및 애니메이션을 렌더링하는 데 더 효율적인 GPU (그래픽 처리 장치)를 사용하기 때문에 CSS를 모두 동일한 요소에서 번역하고 위치를 사용할 수 있습니까?
예, 예, 그렇습니다. 동일한 요소에서 CSS 번역 및 위치를 모두 사용할 수 있습니다. 그러나 그들이 어떻게 협력하는지 이해하는 것이 중요합니다. 위치 속성은 먼저 문서 흐름에서 요소의 위치에 영향을 미치고 번역 함수는 해당 위치에서 요소를 이동합니다.
CSS는 왜 위치를 통해 애니메이션에 자주 권장 되는가? CSS Translate는 GPU를 사용하기 때문에 애니메이션에 권장되는 경우가 많으며 그래픽 및 애니메이션을 렌더링하는 데 더 효율적입니다. 이로 인해 더 부드러운 애니메이션과 CPU가 적은 CPU (Central Processing Unit) 사용이 발생하여 웹 페이지의 전반적인 성능을 향상시킬 수 있습니다. CSS는 모든 유형의 위치 값으로 작동합니까? CSS는 정적, 상대, 절대, 고정 및 끈적 끈적한 모든 유형의 위치 값과 함께 작동합니다. 번역 함수는 위치 값에 관계없이 요소를 위치에서 이동합니다.
CSS와 함께 사용할 수있는 단위는 무엇입니까?
CSS 번역을 사용하면 픽셀 값, 백분율 및 뷰포트 장치를 사용할 수 있습니다. 백분율은 부모가 아닌 요소 자체의 크기와 관련이 있습니다. 이것은 당신에게 요소의 움직임에 대한 유연성과 제어를 제공합니다. CSS 위치로 요소의 움직임을 애니메이션 할 수 있습니까?
기술적으로 요소의 움직임을 애니메이션 할 수는 있지만 요소의 움직임은 기술적으로 가능합니다. CSS 위치, 권장되지 않습니다. 위치 속성을 변경하면 레이아웃 이동이 트리거되어 성능에 부정적인 영향을 줄 수 있기 때문입니다. 애니메이션의 경우 CSS 번역이 더 나은 옵션입니다.
CSS 번역이 요소의 z-index에 어떤 영향을 미칩니 까?
CSS 번역은 요소의 z-index에 직접적인 영향을 미치지 않습니다. 그러나 변환 기능을 요소에 적용하면 새로운 스태킹 컨텍스트가 생겨 z- 인덱스가 적용되는 방식에 영향을 줄 수 있습니다. CSS를 사용할 수 있습니까? CSS 번역을 사용하여 요소를 대각선으로 움직일 수 있습니다. 번역 함수에서 x와 y 값을 모두 지정하여이를 수행 할 수 있습니다. 예를 들어, 번역 (50px, 50px)은 요소 50 픽셀을 오른쪽으로, 50 픽셀로 이동하여 효과적으로 대각선 움직임을 만듭니다.
CSS는 요소의 클릭 가능한 영역에 영향을 미칩니 까?
위 내용은 ATOZ CSS : 번역과 위치 상대의 차이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!