diff --git a/app/assets/stylesheets/components/header.scss b/app/assets/stylesheets/components/header.scss index 2cadb301f..5116e0461 100644 --- a/app/assets/stylesheets/components/header.scss +++ b/app/assets/stylesheets/components/header.scss @@ -2,7 +2,6 @@ .crayons-header { --indicator-outline: var(--header-bg); - --dropdown-display: none; height: var(--header-height); background: var(--header-bg); @@ -95,6 +94,11 @@ display: flex; align-items: center; z-index: 20; + + @media (min-width: $breakpoint-s) { + perspective: 1000px; + } + &__trigger { all: unset; padding: var(--su-1); @@ -105,14 +109,26 @@ } &__dropdown { - display: var(--dropdown-display); + transform-style: preserve-3d; top: var(--header-height); + transform-origin: top right; + transition: all var(--transition-props); + transition-delay: var(--dropdown-delay, 0.25s); + transform: var( + --dropdown-transform, + translateY(calc(1 * var(--su-1))) rotateX(-10deg) + ); + opacity: var(--dropdown-opacity, 0); + visibility: var(--dropdown-visibility, hidden); } &.showing, &.desktop:hover, &.desktop:focus { - --dropdown-display: block; + --dropdown-transform: translateY(0) rotateX(0); + --dropdown-delay: 0; + --dropdown-opacity: 1; + --dropdown-visibility: visible; .crayons-header__menu__trigger { color: var(--header-icons-color-hover); diff --git a/app/assets/stylesheets/components/navigation.scss b/app/assets/stylesheets/components/navigation.scss index df27197fc..a58690bfd 100644 --- a/app/assets/stylesheets/components/navigation.scss +++ b/app/assets/stylesheets/components/navigation.scss @@ -67,6 +67,7 @@ align-items: center; padding: var(--su-3); border-radius: var(--radius); + transition: background var(--transition-props), color var(--transition-props); &:hover:not(.crayons-link--current) { background: var(--link-bg-hover); diff --git a/app/views/layouts/_nav_menu.html.erb b/app/views/layouts/_nav_menu.html.erb index 72eca8110..d8f7be4eb 100644 --- a/app/views/layouts/_nav_menu.html.erb +++ b/app/views/layouts/_nav_menu.html.erb @@ -1,4 +1,4 @@ -
+
<% if user_signed_in? %>