.joe_dropdown { position: relative; &__link { display: flex; align-items: center; &-icon { transition: transform 0.35s; } } &__menu { position: absolute; left: 50%; visibility: hidden; z-index: 999; border-top: 3px solid var(--theme); transform-origin: top; background: var(--background); box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); border-radius: 0 0 4px 4px; padding: 10px 0; opacity: 0; transform: translateX(-50%) perspective(600px) rotateX(-45deg); transition: opacity 0.35s, visibility 0.35s, transform 0.35s; &::before { content: ''; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid var(--theme); } } &.active { .joe_dropdown__link-icon { transform: rotate(-180deg); } .joe_dropdown__menu { visibility: visible; opacity: 1; transform: translateX(-50%) perspective(600px) rotateX(0); } } } .joe_header { position: sticky; top: 0; z-index: 1000; background: var(--background); box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); &__above { &-logo { position: relative; display: flex; align-items: center; height: 60px; padding-right: 15px; margin-right: 15px; img { max-width: 150px; max-height: 50px; object-fit: cover; } &::after { content: ''; position: absolute; top: 50%; right: 0; width: 1px; height: 20px; background: var(--classC); transform: translateY(-50%); } } &-nav { display: flex; align-items: center; .item { position: relative; height: 60px; line-height: 60px; font-size: 15px; padding: 0 8px; margin-right: 15px; transition: color 0.35s; white-space: nowrap; color: var(--main); &:last-child { margin-right: 0; } &::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; transition: opacity 0.5s, transform 0.5s; border-radius: 6px 6px 0 0; opacity: 0; transform: scaleX(0.25); background: var(--theme); } &.active, &:hover { color: var(--theme); &::after { opacity: 1; transform: scaleX(1); } } } .joe_dropdown { &__link { a { height: 60px; line-height: 60px; font-size: 15px; padding-left: 8px; padding-right: 3px; transition: color 0.35s; white-space: nowrap; color: var(--main); } } &__menu { width: 110px; text-align: center; a { display: block; line-height: 34px; height: 34px; transition: color 0.35s, background 0.35s; color: var(--minor); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 15px; &:hover, &.active { color: var(--theme); background: var(--classD); } } } } } &-search { position: relative; margin-left: auto; display: flex; align-items: center; .input { background: var(--classC); width: 170px; height: 34px; border: 1px solid transparent; padding: 0 18px; color: var(--routine); transition: background 0.35s, border-color 0.35s, padding-right 0.35s; border-radius: 17px 0 0 17px; &:focus { background: var(--background); border-color: var(--theme); padding-right: 28px; ~ .icon { transform: translate3d(0, -50%, 0) rotateY(180deg); } } } .submit { position: relative; z-index: 1; height: 34px; border: none; background: var(--theme); color: #fff; border-radius: 0 17px 17px 0; padding: 0 10px; } .icon { position: absolute; top: 50%; left: 142px; width: 28px; height: 38px; background: url(../img/search.png); background-size: 100% 100%; transition: transform 0.35s; transform: translate3d(100%, -50%, 0) rotateY(180deg); } } } &__below { border-top: 1px solid var(--classC); height: 45px; &-class { display: flex; .item { margin-right: 15px; color: var(--minor); height: 45px; line-height: 45px; transition: color 0.35s; white-space: nowrap; &:hover, &.active { color: var(--theme); } } .joe_dropdown { margin-right: 15px; &__link { .item { margin-right: 3px; } } &__menu { width: 110px; text-align: center; a { display: block; height: 34px; line-height: 34px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--minor); transition: color 0.35s, background 0.35s; &:hover, &.active { color: var(--theme); background: var(--classD); } } } } } } } .joe_aside { padding: 15px 0; margin-left: 15px; &__item { position: relative; width: 250px; margin-bottom: 15px; border-radius: 8px; box-shadow: var(--box-shadow); overflow: hidden; &:last-child { position: sticky; margin-bottom: 0; } &.author { background: var(--background); padding: 45px 15px 15px; &::before { content: ''; position: absolute; top: 90px; left: 0; width: 100%; height: 30px; z-index: 2; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--background)); } &::after { display: none; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 273px; background: url('https://cdn.jsdelivr.net/npm/typecho_joe_theme@4.3.5/assets/img/snow.gif') no-repeat; background-size: cover; z-index: 3; pointer-events: none; } } } }