/* 添加过渡效果 */ .u-navbar { transition: opacity 0.4s ease, transform 0.4s ease; } /* 确保TabBar有过渡效果 */ ::v-deep .uni-tabbar { transition: transform 0.4s ease; } .tabs-container { display: flex; flex-direction: column; align-items: center; width: 100%; } .tabs-row { display: flex; width: 100%; justify-content: center; align-items: center; position: relative; height:26px; } .tab { text-align: center; font-size: 16px; font-weight: 600; transition: all 0.3s ease; position: relative; z-index: 2; } /* 为每个选项卡设置不同的颜色 */ .tab[data-index="0"] { width: 26%; color: #4a6da7; /* 到达 - 红色 */ } .dot-arrival{ width:6px; height:6px; border-radius: 50%; background-color: #4a6da7; display: inline-block; vertical-align: middle; margin-left:4px; } .dot-arrival{ width:6px; height:6px; border-radius: 50%; background-color: #4a6da7; display: inline-block; vertical-align: middle; margin-left:4px; } .dot-departure{ width:6px; height:6px; border-radius: 50%; background-color: #5b8a72; display: inline-block; vertical-align: middle; margin-left:4px; } .dot-inhouse{ width:6px; height:6px; border-radius: 50%; background-color: #8e6f50; display: inline-block; vertical-align: middle; margin-left:4px; }.dot-other{ width:6px; height:6px; border-radius: 50%; background-color: #333333; display: inline-block; vertical-align: middle; margin-left:4px; } .tab[data-index="1"] { width: 28%; color: #5b8a72; /* 离开 - 蓝色 */ } .tab[data-index="2"] { width: 28%; color: #8e6f50; /* 在住 - 绿色 */ } .tab[data-index="3"] { width: 20%; color: #333333; /* 其他 - 紫色 */ } .tab.active { font-weight: 600; } .slider-container { position: relative; width: 100%; height: 4px; background-color: #ffffff; border-radius: 2px; overflow: hidden; margin-top: 0px; } /* 文本容器设置为内容自适应宽度 */ .text-container { flex: 0 1 auto; /* 改为不自动扩展,只根据内容调整大小 */ min-width: 0; /* 关键:允许内容截断 */ } /* 图标组防止被压缩 */ .icon-group { flex-shrink: 0; /* 禁止收缩 */ display: flex; align-items: center; margin-left: 4px; /* 可选:添加一个小的间距 */ margin-top:4px; } .icon-group-room { flex-shrink: 0; /* 禁止收缩 */ display: flex; align-items: center; margin-left: 0px; /* 可选:添加一个小的间距 */ margin-top:0px; } .icon-img-flight { width: 15px; height: 15px; margin-left: 4px; flex-shrink: 0; /* 双重保险防止压缩 */ } .icon-img-sharer { width: 17px; height: 17px; margin-left: 2px; flex-shrink: 0; /* 双重保险防止压缩 */ } .icon-img-limo { width: 16px; height: 16px; margin-left: 4px; flex-shrink: 0; /* 双重保险防止压缩 */ } .icon-img-room { width: 18px; height: 18px; margin-left: -1px; flex-shrink: 0; /* 双重保险防止压缩 */ } .todo-summary-description, .todo-description-list, .todo-description-row, .todo-description-text { min-width: 0; max-width: 100%; } .todo-summary-description, .todo-description-text { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; word-break: break-word; } .hz-date-des.todo-summary-description { white-space: normal; overflow: visible; text-overflow: clip; } .todo-description-list { flex: 1 1 auto; } .todo-description-row { display: block; } .todo-description-row .icon-group { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; line-height: 1; margin-top: 0; } .todo-description-sharer-icon { display: inline-block; vertical-align: middle; margin-left: 2px; margin-right: 4px; } .todo-summary-description .icon-img-flight, .todo-summary-description .icon-img-limo, .todo-summary-description .icon-img-sharer { display: inline-block; vertical-align: text-bottom; margin-left: 2px; } .slider { position: absolute; height: 100%; width: 20px; background: #4a6da7; /* 默认颜色,与第一个选项卡相同 */ border-radius: 2px; transition: left 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55), background-color 0.3s ease; box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3); } /* 详细信息展开动画 */ .detail-expand-enter-active { transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); transform-origin: top; } .detail-expand-leave-active { transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); transform-origin: top; } .detail-expand-enter-from { opacity: 0; transform: scaleY(0) translateY(-10px); max-height: 0; overflow: hidden; } .detail-expand-leave-to { opacity: 0; transform: scaleY(0) translateY(-10px); max-height: 0; overflow: hidden; } .detail-expand-enter-to, .detail-expand-leave-from { opacity: 1; transform: scaleY(1) translateY(0); max-height: 200px; } /* 详细内容样式 - 使用简单的展开动画 */ .detail-content { overflow: hidden; animation: expandDown 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards; transform-origin: top center; color:#333333; } /* 展开动画 */ @keyframes expandDown { 0% { opacity: 0; transform: translateY(-15px); max-height: 0; } 50% { opacity: 0.7; transform: translateY(-5px); max-height: 500px; } 100% { opacity: 1; transform: translateY(0); max-height: 1000px; } } /* 子元素渐进显示 */ .detail-content .hz-font-12px { animation: fadeInUp 0.5s ease-out forwards; opacity: 0; } .detail-content .hz-font-12px:nth-child(1) { animation-delay: 0.1s; } .detail-content .hz-font-12px:nth-child(2) { animation-delay: 0.2s; } .detail-content .hz-font-12px:nth-child(3) { animation-delay: 0.3s; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .u-navbar { &--fixed { position: fixed; left: 0; right: 0; top: 0; z-index: 11; } &__content { @include flex(row); align-items: center; height: 44px; background-color: #9acafc; position: relative; justify-content: center; &__left, &__right { padding: 0 13px; position: absolute; top: 0; bottom: 0; @include flex(row); align-items: center; } &__left { left: 0; &--hover { opacity: 0.7; } &__text { font-size: 15px; margin-left: 3px; } } &__title { text-align: center; font-size: 16px; color: $u-main-color; } &__right { right: 0; &__text { font-size: 15px; margin-left: 3px; } } } } .content-box { flex: 1; /* #ifdef APP-NVUE */ justify-content: center; /* #endif */ height: 44px; line-height: 44px; padding: 0 15px; position: relative; background-color: #fff; border-bottom-color: #f5f5f5; border-bottom-width: 1px; border-bottom-style: solid; } .content-text { font-size: 15px; } .example-body { /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: row; justify-content: center; padding: 10px 0; background-color: #fff; } .button { border-color: #e5e5e5; border-style: solid; border-width: 1px; padding: 4px 8px; border-radius: 4px; } .button-text { font-size: 15px; } .slot-button{ /* #ifndef APP-NVUE */ display: flex; /* #endif */ width: 20px; height: 20px; border-radius: 50%; flex-direction: row; justify-content: center; align-items: center; padding: 10px; touch-action: manipulation; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; } .slot-button-eta { background-color: #C39A4B; } .slot-button-cancel { background-color: #ff5a5f; } .slot-button-text { color: #ffffff; font-size: 14px; } /* ETA标签样式 */ .conner-label { position: absolute; top: -10px; right: -2px; color: #ffffff; font-size: 9px; padding: 0px 4px 0px 4px; border-radius: 4px; z-index: 10; white-space: nowrap; } .conner-label-eta{ background-color: #9f9f9f; } .conner-label-danger{ background-color: #ff5a5f; } .conner-label-info{ background-color: #4a6da7; } .conner-label-text{ position:relative; top:5px; }