.mobile-tabbar { display: none; flex-direction: column; justify-content: flex-end; position: fixed; left: 0; bottom: 0; right: 0; z-index: 99; .common-network-exception { position: fixed; bottom: 72px; width: 100%; .ivu-alert { margin: 0 12px; &.ivu-alert-with-icon { .ivu-alert-icon { top: 50%; transform: translateY(-50%); } } &.ivu-alert-error { background-color: rgba(255, 240, 231, 0.95); } } } .tabbar-box { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; height: 60px; background-color: #f8f8f8; &:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 1; transform: scaleY(0.5); background-color: rgba(28, 34, 43, 0.05); } > li { flex: 1; width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; list-style: none; padding: 0; margin: 0; color: $primary-text-color; position: relative; .taskfont { font-size: 24px; line-height: 34px; } .tabbar-title { font-size: 12px; line-height: 18px; max-width: 92%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .tabbar-badge { position: absolute; top: 0; left: 50%; transform: scale(0.8); .ivu-badge-count { font-size: 14px; } } &.active { color: $primary-color; } } } } .mobile-back { display: none; .back-semicircle { position: fixed; top: 200px; left: -50px; width: 500px; height: 500px; background-color: rgba(0, 0, 0, 0.1); z-index: 9999; border-radius: 50%; transform: translate(-460px, -50%); animation: mobile-back-animation 200ms forwards; } } @keyframes mobile-back-animation { from { left: -50px; } to { left: 0; } } .mobile-notification { position: fixed; left: 50%; top: 20px; z-index: 9998; padding: 12px; border-radius: 8px; border: 1px solid #ebeef5; background-color: #fff; box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); width: 90%; max-width: 320px; transform: translate(-50%, 0); .common-avatar { &.avatar-wrapper { align-items: flex-start; .avatar-name { flex: 1; width: 0; margin-left: 12px; > span { font-weight: bold; } } } } .notification-desc { float: left; margin-top: -18px; margin-left: 52px; font-size: 13px; line-height: 18px; word-break: break-all; text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } } // 渐见 .mobile-fade-enter-active { animation: mobile-fade-enter-animation 0.2s forwards; } .mobile-fade-leave-active { animation: mobile-fade-leave-animation 0.2s backwards; } @keyframes mobile-fade-enter-animation { from { opacity: 0; } to { opacity: 1; } } @keyframes mobile-fade-leave-animation { from { opacity: 1; } to { opacity: 0; } } // 底部划上 .mobile-slide-enter-active { animation: mobile-slide-enter-animation 0.2s forwards; } .mobile-slide-leave-active { animation: mobile-slide-leave-animation 0.2s backwards; } @keyframes mobile-slide-enter-animation { from { transform: translate(0, 15%); opacity: 0; } to { transform: translate(0, 0); opacity: 1; } } @keyframes mobile-slide-leave-animation { from { transform: translate(0, 0); opacity: 1; } to { transform: translate(0, 15%); opacity: 0; } } // 通知(顶部划入) .mobile-notify-enter-active { animation: mobile-notify-enter-animation 0.3s forwards; } .mobile-notify-leave-active { animation: mobile-notify-leave-animation 0.3s backwards; } @keyframes mobile-notify-enter-animation { from { transform: translate3d(-50%, -100%, 0); opacity: 0; } to { transform: translate3d(-50%, 0, 0); opacity: 1; } } @keyframes mobile-notify-leave-animation { from { transform: translate3d(-50%, 0, 0); opacity: 1; } to { transform: translate3d(-50%, -100%, 0); opacity: 0; } } // 对话框(右侧划入) .mobile-dialog-enter-active { animation: mobile-dialog-enter-animation 0.3s forwards; } .mobile-dialog-leave-active { animation: mobile-dialog-leave-animation 0.3s backwards; .ql-editor { caret-color: transparent; } } @keyframes mobile-dialog-enter-animation { from { transform: translate3d(100%, 0, 0); opacity: 0; } to { transform: translate3d(0%, 0, 0); opacity: 1; } } @keyframes mobile-dialog-leave-animation { from { transform: translate3d(0%, 0, 0); opacity: 1; } to { transform: translate3d(100%, 0, 0); opacity: 0; } } // 录音发送(缩放) .mobile-send-enter-active { animation: mobile-send-enter-animation 0.3s forwards; } .mobile-send-leave-active { animation: mobile-send-leave-animation 0.3s backwards; } @keyframes mobile-send-enter-animation { from { transform: translate(-50%, -50%) scale(0); opacity: 0; } to { transform: translate(-50%, -50%) scale(1); opacity: 1; } } @keyframes mobile-send-leave-animation { from { transform: translate(-50%, -50%) scale(1); opacity: 1; } to { transform: translate(-50%, -50%) scale(0); opacity: 0; } } body.window-touch { user-select: none; a, img { -webkit-touch-callout: none; } .mobile-back { display: block; } input, textarea, .user-select-auto { caret-color: $flow-status-end-color; user-select: auto; a, img { -webkit-touch-callout: default; } .content-text, .content-file { img { -webkit-touch-callout: none; } } } } body.window-portrait { .mobile-notification { top: 12px; width: 94%; max-width: none; } }