1. top: 50%;
- 요소를 부모 요소를 기준으로 50% 아래로 이동시킵니다. 즉, 요소의 상단이 부모 요소의 중간에 위치하게 됩니다. (이때 요소의 높이를 고려하지 않아 중앙 정렬이 되지 않습니다)
2. transform: translateY(-50%);
- 요소를 현재 위치에서 자신의 높이의 50%만큼 위로 이동합니다.
=> 요소의 상단이 부모 요소의 중간에 위치하고, 그 위치에서 요소가 자신의 높이의 절반만큼 위로 이동하게 되어 요소의 중간이 부모 요소의 중간에 위치하게 됩니다
예를 들어, 요소의 높이가 50px이고 부모 요소의 높이가 100px이면
1. top: 50%;를 적용하면, 요소의 상단이 부모 요소의 상단에서 50px (100px의 50%) 아래로 이동하고,
2. transform: translateY(-50%);를 적용하면 요소가 자신의 높이인 50px의 50% (즉, 25px)만큼 위로 이동하게 됩니다
.form__input-wrapper {
position: relative;
}
.form__input-wrapper::after {
position: absolute;
top: 50%; /* 부모 높이의 50%에 위치 >> 자식 요소 자체 높이 고려x */
transform: translateY(-50%); /* 자신 높이의 절반만큼 위로 이동*/
}
'🐠 FrontEnd > HTML, CSS' 카테고리의 다른 글
flex, grid에서 자식요소에 스크롤이 안 먹힐 때는 min-height:0 (0) | 2024.05.27 |
---|---|
넘치는 텍스트 줄이기(말 줄임표) (0) | 2024.04.29 |