mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-19 11:41:20 +08:00
178 lines
3.0 KiB
SCSS
178 lines
3.0 KiB
SCSS
|
|
// Tabs
|
|
// --------------------------------------------------
|
|
|
|
$tabbar-background-color: $toolbar-background-color !default;
|
|
|
|
$tab-button-text-color: $toolbar-text-color !default;
|
|
$tab-button-active-color: $toolbar-active-color !default;
|
|
$tab-button-inactive-color: $toolbar-inactive-color !default;
|
|
$tab-button-padding: 10px !default;
|
|
$tab-button-min-width: 80px !default;
|
|
$tab-button-max-width: 240px !default;
|
|
|
|
|
|
ion-tabs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
overflow: hidden;
|
|
width: 100%;
|
|
height: 100%;
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
ion-tab {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
flex-direction: column;
|
|
|
|
display: none;
|
|
&.show-tab {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
ion-tabs > ion-navbar-section {
|
|
order: $flex-order-tabbar-navbar;
|
|
}
|
|
|
|
ion-tabbar-section {
|
|
position: relative;
|
|
order: $flex-order-tabbar-bottom;
|
|
}
|
|
|
|
[tabbar-placement=top] ion-tabbar-section {
|
|
order: $flex-order-tabbar-top;
|
|
}
|
|
|
|
tabbar {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
background: $tabbar-background-color;
|
|
}
|
|
|
|
.tab-button {
|
|
position: relative;
|
|
z-index: 0;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
flex: 1;
|
|
align-self: center;
|
|
align-items: center;
|
|
|
|
margin: 0;
|
|
padding: $tab-button-padding;
|
|
min-width: $tab-button-min-width;
|
|
max-width: $tab-button-max-width;
|
|
|
|
text-align: center;
|
|
cursor: pointer;
|
|
@include user-select-none();
|
|
|
|
color: $tab-button-inactive-color;
|
|
border: 0;
|
|
border-radius: 0;
|
|
background: none;
|
|
}
|
|
|
|
.tab-button:hover:not(.disable-hover),
|
|
.tab-button[aria-selected=true] {
|
|
color: $tab-button-active-color;
|
|
}
|
|
|
|
.tab-button-text {
|
|
margin-top: 3px;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.tab-button-text,
|
|
.tab-button-icon {
|
|
align-self: center;
|
|
|
|
min-width: 26px;
|
|
max-width: 100%;
|
|
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
display: none;
|
|
}
|
|
|
|
.has-icon .tab-button-icon,
|
|
.has-title .tab-button-text {
|
|
display: block;
|
|
}
|
|
|
|
.has-title-only .tab-button-text {
|
|
white-space: normal;
|
|
}
|
|
|
|
tab-highlight {
|
|
display: none;
|
|
}
|
|
|
|
[tabbar-icons=bottom] .tab-button {
|
|
.tab-button-icon {
|
|
order: 10;
|
|
}
|
|
}
|
|
|
|
[tabbar-icons=left] .tab-button {
|
|
flex-direction: row;
|
|
|
|
.tab-button-icon {
|
|
text-align: right;
|
|
padding-right: 8px;
|
|
}
|
|
}
|
|
|
|
[tabbar-icons=right] .tab-button {
|
|
flex-direction: row;
|
|
|
|
.tab-button-icon {
|
|
order: 10;
|
|
text-align: left;
|
|
padding-left: 8px;
|
|
}
|
|
}
|
|
|
|
[tabbar-icons=hide] .tab-button-icon {
|
|
display: none;
|
|
}
|
|
|
|
|
|
// Tabbar Color Generation
|
|
// --------------------------------------------------
|
|
|
|
@each $color-name, $color-value in $colors {
|
|
|
|
tabbar[#{$color-name}] {
|
|
background-color: $color-value;
|
|
|
|
.tab-button {
|
|
color: inverse($color-value);
|
|
}
|
|
|
|
.tab-button:hover:not(.disable-hover),
|
|
.tab-button[aria-selected=true] {
|
|
color: inverse($color-value);
|
|
}
|
|
}
|
|
|
|
}
|