UNPKG

tdesign-mobile-vue

Version:
172 lines (145 loc) 3.14 kB
@import "../../../base.less"; @import "./_var.less"; .@{prefix}-swiper-nav { &__dots, &__dots-bar { display: flex; flex-direction: row; &-item { width: @swiper-nav-dot-size; height: @swiper-nav-dot-size; background: @swiper-nav-dot-color; border-radius: 50%; margin: 0 5px; transition: all .4s ease-in; &--vertical { margin: 5px 0; } &--active { background-color: @swiper-nav-dot-active-color; } } } &__dots-bar { &-item { &--vertical&--active { width: @swiper-nav-dot-size; height: @swiper-nav-dots-bar-active-width; } &--active { width: @swiper-nav-dots-bar-active-width; border-radius: calc(@swiper-nav-dot-size / 2); background-color: @swiper-nav-dot-active-color; } } } &--left { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); } &--right { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); } &--top-left { position: absolute; top: 12px; left: 12px; } &--top { position: absolute; left: 50%; top: 12px; transform: translateX(-50%); } &--top-right { position: absolute; top: 12px; right: 12px; } &--bottom-left { position: absolute; left: 12px; bottom: 12px; } &--bottom { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); } &--bottom-right { position: absolute; right: 12px; bottom: 12px; } &--vertical { flex-direction: column; } &__fraction { padding: 0 8px; height: @swiper-nav-fraction-height; line-height: @swiper-nav-fraction-height; border-radius: calc(@swiper-nav-fraction-height / 2); background: @swiper-nav-fraction-bg-color; color: @swiper-nav-fraction-color; font-size: @swiper-nav-fraction-font-size; } &__btn { &--prev, &--next { position: absolute; top: 50%; transform: translateY(-50%); width: @swiper-nav-btn-size; height: @swiper-nav-btn-size; border-radius: 50%; background: @swiper-nav-btn-bg-color; &::after { content: ""; display: block; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; border-color: @swiper-nav-btn-color; border-style: solid; } } &--prev { left: 15px; &::after { margin-left: 2px; border-width: 1px 0 0 1px; transform: translate(-50%, -50%) rotateZ(-45deg); } } &--next { right: 15px; &::after { margin-left: -2px; border-width: 1px 1px 0 0; transform: translate(-50%, -50%) rotateZ(45deg); } } } &--outside { bottom: 0; .@{prefix}-swiper-nav { &__dots, &__dots-bar { &-item { background: @swiper-nav-outside-bg; &--active { background-color: @swiper-nav-outside-bg-active; } } } } } }