변환의 마법: 번역(-50%, -50%)
큰 이미지나 전체 화면 요소를 다룰 때, CSS 개발자는 종종 다음과 같은 호기심 많은 코드 조각을 사용합니다.
.item { top: 50%; left: 50%; transform: translate(-50%, -50%); }
이 코드의 목적은 무엇이며, 어떻게 작동하나요?
변환 속성은 원래 참조 지점을 기준으로 요소의 위치를 이동합니다. 이 특정한 경우,translate(-50%, -50%)는 X축과 Y축 모두의 요소를 자체 크기의 -50%만큼 변환합니다.
이것이 왜 필요한지 이해하려면 살펴보겠습니다.
상단 및 왼쪽을 50%로 설정하면 처음에 요소의 왼쪽 상단 모서리가 상위 컨테이너의 중앙으로 이동됩니다. 그러나 이는 상위 요소의 중심에서 요소의 중심점 오프셋을 유지합니다.
transform:translate(-50%, -50%)는 요소를 왼쪽으로 다시 이동하고 위쪽으로 절반만큼 이동하여 이를 수정합니다. 그 자체의 크기. 이렇게 하면 이제 요소의 중심점이 상위 요소의 중심점과 정렬되어 완벽한 수평 및 수직 중심점이 달성됩니다.
효과를 시각화하려면 다음 코드 조각 위로 마우스를 가져가세요.
body { margin: 0; padding: 0; } .parent { background-color: #ccc; width: 100vw; height: 100vh; position: relative; } .child { background-color: rgba(0,0,255,0.5); width: 50px; height: 50px; position: absolute; top: 50%; left: 50%; } .child::before { background-color: rgba(255, 0, 0, 0.5); position: absolute; top: 0; left: 0; width: 50px; height: 50px; content: ''; transition: all .5s ease-in-out; } body:hover .child::before { transform: translate(-50%, -50%); }
상위 컨테이너 위로 마우스를 가져가면 중앙에 있는 요소의 빨간색 "유령"이 어떻게 제자리로 부드럽게 이동하는지 확인하세요. 이는 CSS에서 완벽한 중앙 정렬을 달성하기 위해 변환: 번역(-50%, -50%)을 사용하는 방법을 보여줍니다.
위 내용은 CSS에서 `transform:translate(-50%, -50%)`는 어떻게 완벽한 센터링을 달성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!