Development/CSS & SCSS

display none이 transition이 안먹히는 이유

moretz0921 2022. 4. 30. 00:58

 

display: none을 활용한 element의 숨김/표시는 가장 기본적인 방식의 show/hide 처리방법.

다만 CSS transition이 적용되지 않기 때문에 애니메이션을 구현하기 위해서는 약간의 추가적인 작업을 필요

 

 

렌더링 경로 Critical Rendering Path

  • DOM, CSSOM 트리 생성 : 파싱 한 HTML과 CSS를 이용해 document object model과 css object model을 각각 생성한다.
  • 렌더링 트리 생성 : 앞 단계에서 생성한 트리 정보를 바탕으로, '화면에 표시'할 요소들의 정보를 정리해 렌더링 트리를 만든다
  • 레이아웃(혹은 리플로우) : 요소가 실제 화면(뷰포트) 상에 너비, 높이, 위치가 어떻게 될 것인지 계산(만)한다. (아직 화면에는 보이지 않음)
  • 페인트 : 실제로 화면에 픽셀을 그림 쨔잔


 

 

display

요소를 어떻게 보여줄지 결정.

display: none은 요소를 아예 사라지게 한다. 보이지도 않고 해당 요소의 공간 또한 사라진다.

 

visibility

visibility 속성은 문서의 레이아웃을 변경하지 않고 요소를 보이거나 숨긴다.

vsibility: hidden 을 하더라도 요소는 보이지 않으나 요소의 영역은 그대로 남아있다.

 

opacity

투명도를 설정. 투명도만 조절하는 것이기 때문에 보이지 않더라도 요소는 존재한다.

 

 

- transition이 아니라, keyframe animation 활용

- display 대신에 visibility 이용
- pointer-event 활용

 

 

 

출처

https://velog.io/@dev-tinkerbell/display-none%EC%9D%B4-transition%EC%9D%B4-%EC%95%88%EB%A8%B9%ED%9E%88%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

display none이 transition이 안먹히는 이유

해결방법 말고 원인 궁금하지 않나요..?🤓

velog.io

https://jwss.tistory.com/15

 

[CSS 기초] 엘리먼트 보이고 감추기 (display, visibility, opacity)

요소를 보이고 감추는 법에 대해 알아보겠습니다. 🔷 display 요소를 어떻게 보여줄지 결정합니다. display: none 은 요소를 아예 사라지게 합니다. 보이지도 않고 해당 요소의 공간 또한 사라집니다.

jwss.tistory.com

https://uxdev.org/entry/display-none%EC%97%90-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0

 

display: none에 애니메이션 추가하기

display: none을 활용한 element의 숨김/표시는 가장 기본적인 방식의 show/hide 처리방법입니다. 다만 CSS transition이 적용되지 않기 때문에 자연스러운 애니메이션을 구현하기 위해서는 약간의 추가적인

uxdev.org

https://songsong.dev/6

 

css display none 애니메이션 오류 수정하기

오늘의 문제 display:none; display:block; 에 transition 애니메이션이 적용되지 않는다! See the Pen display none animation1 by ylem76 (@ylem76) on CodePen. 메뉴를 마우스 오버했을 때 하위 메뉴가 보이고..

songsong.dev

 

'Development > CSS & SCSS' 카테고리의 다른 글

카테고리 탭 구현하기  (0) 2022.05.13
반응형 웹 단계별 해상도  (0) 2022.05.03
[CSS] 트랜지션(Transition)과 애니메이션(Animation)  (0) 2022.04.30
calc  (0) 2022.03.27
Font Awesome 사용하기 ( + react )  (0) 2022.03.26