@nutui/nutui-react-taro
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
325 lines (319 loc) • 7.83 kB
CSS
/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.nut-tabs {
display: flex;
}
.nut-tabs-horizontal {
flex-direction: column;
}
.nut-tabs-titles {
display: flex;
box-sizing: border-box;
height: 44px;
user-select: none;
overflow-x: auto;
overflow-y: hidden;
background: #f2f3f5;
scrollbar-width: none;
}
.nut-tabs-titles::-webkit-scrollbar {
display: none;
width: 0;
background: transparent;
}
.nut-tabs-titles .nut-tabs-list {
width: 100%;
display: flex;
flex-shrink: 0;
}
.nut-tabs-titles-left {
justify-content: flex-start;
}
.nut-tabs-titles-left .nut-tabs-titles-item {
padding: 0 22px;
}
.nut-tabs-titles-right {
justify-content: flex-end;
}
.nut-tabs-titles-right .nut-tabs-titles-item {
padding: 0 22px;
}
.nut-tabs-titles-item {
position: relative;
display: flex;
align-items: center;
justify-content: center;
flex: 1 0 auto;
padding: 0 12px;
height: 44px;
line-height: 44px;
min-width: 50px;
font-size: 14px;
color: #1a1a1a;
text-overflow: ellipsis;
white-space: nowrap;
}
.nut-tabs-titles-item .nut-icon {
color: #1a1a1a;
}
.nut-tabs-titles-item-left, .nut-tabs-titles-item-right {
flex: none;
}
.nut-tabs-titles-item-text {
color: #1a1a1a;
}
.nut-tabs-titles-item-smile {
position: absolute;
transition: width 0.3s ease;
width: 0;
height: 0;
content: " ";
left: 50%;
transform: translate(-50%, 0);
bottom: 15%;
border-radius: 2px;
opacity: 1;
overflow: hidden;
}
.nut-tabs-titles-item-line {
position: absolute;
transition: width 0.3s ease;
width: 0;
height: 0;
content: " ";
left: 50%;
transform: translate(-50%, 0);
bottom: 15%;
border-radius: 2px;
opacity: 1;
overflow: hidden;
}
.nut-tabs-titles-item-smile {
bottom: -10%;
}
.nut-tabs-titles-item-smile .nut-icon {
position: absolute;
font-size: 20px;
width: 100%;
height: 100%;
}
.nut-tabs-titles-item-active .nut-icon {
color: #ff0f23;
}
.nut-tabs-titles-item-active .nut-tabs-titles-item-text {
color: #ff0f23;
font-weight: 600;
}
.nut-tabs-titles-item-active .nut-tabs-titles-item-line {
overflow: unset;
content: " ";
width: 12px;
height: 2px;
background: #ff0f23;
}
.nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
overflow: unset;
width: 40px;
height: 20px;
}
.nut-tabs-titles-item-active .nut-tabs-titles-item-smile .nut-icon {
color: #ff0f23;
}
.nut-tabs-titles-item-disabled {
color: #c2c4cc;
}
.nut-tabs-titles-item-disabled .nut-icon {
color: #c2c4cc;
}
.nut-tabs-titles-item-disabled .nut-tabs-titles-item-text {
color: #c2c4cc;
}
.nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
color: #1a1a1a;
font-size: 16px;
}
.nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-icon {
color: #1a1a1a;
font-size: 16px;
}
.nut-tabs-titles-card .nut-tabs-titles-item-active {
font-weight: 600;
background-color: #ffffff;
border-radius: 8px 8px 0 0;
}
.nut-tabs-titles-button .nut-tabs-titles-item {
padding: 0 10px;
}
.nut-tabs-titles-button .nut-tabs-titles-item .nut-tabs-titles-item-text {
flex: 1;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 8px;
}
.nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
background: undefined;
color: #ff0f23;
border-radius: 50px;
font-weight: 600;
background-color: #ffebf1;
border: 1px solid #ff0f23;
}
.nut-tabs-titles-divider {
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.nut-tabs-titles-divider .nut-tabs-titles-item {
position: relative;
}
.nut-tabs-titles-divider .nut-tabs-titles-item::after {
content: "";
position: absolute;
right: 0;
top: 50%;
height: 50%;
width: 1px;
background: rgba(0, 0, 0, 0.06);
transform: translateY(-50%);
}
.nut-tabs-titles-divider .nut-tabs-titles-item:last-child::after {
display: none;
}
.nut-tabs-vertical .nut-tabs-ellipsis {
white-space: break-spaces;
/* #ifdef harmony */
padding-left: 12px;
/* #endif */
/* #ifndef harmony */
padding-left: 6px;
/* #endif */
width: 90px;
line-height: 14px;
}
.nut-tabs-vertical .nut-tabs-titles {
flex-direction: column;
height: 100%;
width: 100px;
flex-shrink: 0;
}
.nut-tabs-vertical .nut-tabs-titles .nut-tabs-list {
flex-direction: column;
}
.nut-tabs-vertical .nut-tabs-titles-item {
height: 40px;
flex: none;
}
.nut-tabs-vertical .nut-tabs-titles-item-smile {
overflow: hidden;
transition: width 0.3s ease;
}
.nut-tabs-vertical .nut-tabs-titles-item-line {
transform: translate(0, -50%);
transition: height 0.3s ease;
}
.nut-tabs-vertical .nut-tabs-titles-item-line-vertical {
top: 50%;
}
.nut-tabs-vertical .nut-tabs-titles-item-active {
background-color: #ffffff;
}
.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
left: 10px;
width: 3px;
height: 12px;
background: linear-gradient(180deg, #ff475d 0%, #ffebf1 100%);
}
.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
right: -12px;
bottom: -2%;
left: auto;
transform: rotate(320deg);
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles {
flex-direction: row;
height: 44px;
width: 100%;
padding: 0 ;
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-list {
flex-direction: row;
height: auto;
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-content {
flex-direction: row;
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active {
background-color: initial;
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
left: 50%;
transform: translate(-50%, 0);
width: 12px;
height: 2px;
background: #ff0f23;
}
.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
left: 50%;
right: auto;
bottom: -3px;
transform: translate(-50%, 0) rotate(0deg);
}
.nut-tabs-vertical .nut-tabs-content {
flex-direction: column;
height: 100%;
}
.nut-tabs-vertical .nut-tabs-content-wrap {
flex: 1;
}
.nut-tabs-vertical .nut-tabs-content .nut-tabpane {
height: 100%;
}
.nut-tabs-content {
display: flex;
box-sizing: border-box;
}
.nut-tabs-content-wrap {
overflow: hidden;
}
[dir=rtl] .nut-tabs-titles-item-smile, [dir=rtl] .nut-tabs-titles-item-line,
.nut-rtl .nut-tabs-titles-item-smile,
.nut-rtl .nut-tabs-titles-item-line {
left: auto;
right: 50%;
transform: translate(50%, 0);
}
[dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item::after,
.nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item::after {
right: auto;
left: 0;
}
[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item,
.nut-rtl .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item {
padding-left: 0;
padding-right: 14px;
}
[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line,
.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
left: auto;
right: 10px;
}
[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,
.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
left: -12px;
right: auto;
transform: rotate(-320deg);
}
[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line,
.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
left: auto;
right: 50%;
transform: translate(50%, 0);
}
[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,
.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
right: 50%;
left: auto;
transform: translate(50%, 0) rotate(0deg);
}