OSX 메뉴 스타일로 페이드 아웃하면서 요소를 숨기기

2397 단어 SassCSSanimation
평소별로 신경 쓰지 않지만, OSX 메뉴는 표시될 때는 애니메이션 없이, 숨겨질 때는 페이드 아웃하면서 사라진다.



웹상에서도 이 분위기를 재현하고 싶어서, CSS transition 으로 해 보려고 생각했지만, 이하의 코드라면 애니메이션하지 않는다.
.menu {
    transition: none;

    &.hidden {
      display: none;
      opacity: 0;

      transition:
        display 0s linear 0.3s,
        opacity 0.3s ease 0s;
    }
}

실은 display 프로퍼티는 transition 에 지정할 수 없기 때문에, 대신에 visibility 를 사용해 할 필요가 있다.
.menu {
    transition: none;

    &.hidden {
      visibility: hidden;
      opacity: 0;

      transition:
        visibility 0s linear 0.3s,
        opacity 0.3s ease 0s;
    }
}

좋은 웹페이지 즐겨찾기