.s-table { font-size: $table-font-size; position: relative; box-sizing: border-box; color: $table-text-color; border-color: $table-border-color; background: $table-background; &__scroll-x, &__scroll-y { height: 100%; } &__wrap { display: inline-flex; flex-direction: column; flex-wrap: nowrap; min-width: 100%; height: 100%; } &__header, &__tr { display: flex; } &__header { flex-shrink: 0; } &__body { overflow: hidden; flex-grow: 1; } &__th { font-weight: $font-weight-bold; } &__tr { display: flex; &--stripe { background: $table-tr-stripe-background; } } &__th, &__td { display: flex; overflow: hidden; align-items: center; box-sizing: border-box; width: 0; padding: $table-padding; border-bottom: 1px solid $table-border-color; } &__sort-wrap { margin-left: .25em; } &__sort-icon { width: 0; height: 0; color: $table-sort-color; border-right: .25em solid transparent; border-left: .25em solid transparent; &:first-child { border-bottom: .3em solid currentColor; } &:last-child { margin-top: 4rpx; border-top: .3em solid currentColor; } &--active { color: $table-sort-active-color; } } &--border { border-top-width: 1px; border-top-style: solid; border-left-width: 1px; border-left-style: solid; &::before, &::after { position: absolute; z-index: 2; content: ' '; border-color: inherit; } &::before { bottom: 0; left: 0; width: 100%; border-bottom-width: 1px; border-bottom-style: solid; } &::after { top: 0; right: 0; height: 100%; border-right-width: 1px; border-right-style: solid; } } &--border &__th, &--border &__td { border-right: 1px solid $table-border-color; } &--align-left &__th, &--align-left &__td { justify-content: flex-start; text-align: left; } &--align-center &__th, &--align-center &__td { justify-content: center; text-align: center; } &--align-right &__th, &--align-right &__td { justify-content: flex-end; text-align: right; } & &__th, & &__td { &--align-left { justify-content: flex-start; text-align: left; } &--align-center { justify-content: center; text-align: center; } &--align-right { justify-content: flex-end; text-align: right; } } }