drip-ui
Version:
Lightweight Mobile UI Components built on Vue
189 lines (157 loc) • 3.53 kB
CSS
@import './common/var.css';
$drip-tabs-line-height: 100px;
$drip-tabs-card-height: 100px;
$drip-tabs-square-height: 70px;
.drip-tabs {
position: relative;
&__content {
font-size: 24px;
}
&__wrap {
top: 0;
left: 0;
right: 0;
z-index: 99;
overflow: hidden;
position: absolute;
&--page-top {
position: fixed;
}
&--content-bottom {
top: auto;
bottom: 0;
}
&--scrollable {
.drip-tab {
flex: 0 0 22%;
}
.drip-tabs__nav {
overflow: hidden;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
&::-webkit-scrollbar {
display: none;
}
}
}
}
&__nav {
display: flex;
user-select: none;
position: relative;
background-color: $white;
&--line {
height: 100%;
padding-bottom: 30px; /* 15px padding to hide scrollbar in mobile safari */
box-sizing: content-box;
}
&--card {
margin: 0 30px;
border-radius: 4px;
box-sizing: border-box;
border: 1PX solid $orange;
height: $drip-tabs-card-height;
.drip-tab {
color: $orange;
border-right: 1PX solid $orange;
line-height: calc($drip-tabs-card-height - 2px);
&:last-child {
border-right: none;
}
&.drip-tab--active {
color: $white;
background-color: $orange;
}
&--disabled {
color: $gray;
}
}
}
&--square {
box-sizing: border-box;
height: $drip-tabs-square-height;
.drip-tab {
color: $orange;
padding: 0;
border-right: 1PX solid $orange;
line-height: calc($drip-tabs-square-height - 2px);
&:first-child {
margin-left: 40px;
.drip-ellipsis {
border-left: 1PX solid $orange;
}
}
&:last-child {
box-sizing: content-box;
padding-right: 40px;
border-right: none;
.drip-ellipsis {
border-right: 1PX solid $orange;
}
}
.drip-ellipsis {
width: 100%;
height: calc($drip-tabs-square-height - 4px);
display: inline-block;
border-right: 1PX solid $orange;
border-top: 1PX solid $orange;
border-bottom: 1PX solid $orange;
}
&.drip-tab--active {
/* color: $white;
background-color: $orange; */
.drip-ellipsis {
color: $white;
background-color: $orange;
}
}
&--disabled {
color: $gray;
}
}
}
}
&__line {
z-index: 1;
left: 0;
bottom: 30px;
height: 6px;
position: absolute;
border-radius: 3px;
background-image: linear-gradient(-143deg, #FFAB11 0%, #FFDC0F 73%);
}
&--line {
padding-top: $drip-tabs-line-height;
.drip-tabs__wrap {
height: $drip-tabs-line-height;
}
}
&--card {
padding-top: $drip-tabs-card-height;
.drip-tabs__wrap {
height: $drip-tabs-card-height;
}
}
}
.drip-tab {
flex: 1;
cursor: pointer;
padding: 0 10px;
font-size: 28px;
position: relative;
color: #333;
line-height: $drip-tabs-line-height;
text-align: center;
box-sizing: border-box;
background-color: $white;
min-width: 0; /* hack for flex ellipsis */
span {
display: block;
}
&--active {
font-weight: bold;
}
&--disabled {
color: $gray;
}
}