이전에 getBoundingClientRect()에 대해 포스팅에도 쓰였던 이미지다.
이번에는 버튼이나 헤더에 위치한 로고와 네비게이션바를 자세히 보면
스크롤을 내리고 올릴 때 부드럽게 사라지고 부드럽게 나타나는 것을 유심히 보자.
display: none 으로도 설정할 수 있지만 해당 요소가 레이아웃에서 완전히 제거되기 때문에
다른 요소가 해당 공간을 채우게 될 수도 있고 요소의 위치가 변경되기도 한다.
opacity 의 경우에는 여전히 레이아웃에 존재하면서 단지 보이지 않을 뿐이다.
마우스를 해당 요소의 위치에 가지고 가면 포인터가 보이는데,
보이게 하기 싫다면 pointer-events: none 으로 해주면 포인터가 표시되지 않는다.
해당요소의 공간을 사용하지 않으려면 visibility: hidden을 같이 쓰면 레이아웃에서 사라진다.
그리고 transition 속성으로 부드러운 애니메이션 효과를 줄 수 있다.
.arrow-up {
visibility: hidden;
opacity: 0;
transition: all ease-in-out 300ms;
cursor: pointer;
}
.arrow-up-visible {
visibility: visible;
opacity: 1;
}
'01_PROJECT > OBJECT _2023' 카테고리의 다른 글
[ JavaScript ] scrollIntoView()로 스크롤을 원하는 위치로 이동하기 (0) | 2023.08.03 |
---|---|
[ css ] 스크롤 상관없이 동일한 위치에 요소를 고정시키기 position: fiexd (0) | 2023.08.03 |
[ JavaScript ] 요소의 크기나 위치를 알 수 있는 getBoundingClientRect() (0) | 2023.08.03 |
[ JavaScript ] substr() is deprecated -> substring() 문자열 일부 추출하기 (0) | 2023.08.02 |
[ JavaScript ] 헷갈리는 for...in과 for...of, in의 내부,속성만 기억하자 (0) | 2023.08.02 |