mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-15 17:31:18 +08:00
311 lines
8.1 KiB
SCSS
311 lines
8.1 KiB
SCSS
.#{$ns}Nav {
|
|
position: relative;
|
|
.#{$ns}Nav-list {
|
|
list-style: none;
|
|
user-select: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
position: relative;
|
|
|
|
.#{$ns}Nav-itemIcon {
|
|
margin-right: var(--gap-sm);
|
|
}
|
|
|
|
img.#{$ns}Nav-itemIcon {
|
|
height: var(--Tabs-linkFontSize);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
&-overflow {
|
|
min-height: var(--Nav-Item-height) !important;
|
|
max-height: calc(var(--Nav-Item-height) * 5);
|
|
max-width: var(--Nav-Item-maxWidth--tabs);
|
|
font-size: var(--Nav-subItem-fontSize);
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
|
|
.#{$ns}Nav-subItems {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
.#{$ns}Nav-item {
|
|
max-width: var(--Nav-Item-maxWidth--tabs);
|
|
height: var(--Nav-Item-height);
|
|
|
|
> a {
|
|
border: none !important;
|
|
display: block !important;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
user-select: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
&--tabs {
|
|
border-bottom: var(--Tabs-borderWidth) solid var(--Tabs-borderColor);
|
|
|
|
.#{$ns}Nav-item {
|
|
margin-bottom: calc(var(--Tabs-borderWidth) * -1);
|
|
display: inline-block;
|
|
position: relative;
|
|
max-width: var(--Nav-Item-maxWidth--tabs);
|
|
|
|
> a {
|
|
font-size: var(--Tabs-linkFontSize);
|
|
display: block;
|
|
outline: none;
|
|
border: var(--Tabs-borderWidth) solid transparent;
|
|
border-top-left-radius: var(--Tabs-borderRadius);
|
|
border-top-right-radius: var(--Tabs-borderRadius);
|
|
color: var(--Tabs-color);
|
|
text-decoration: none;
|
|
margin-right: px2rem(2px);
|
|
padding: var(--gap-sm) var(--gap-xl);
|
|
cursor: pointer;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
&:hover > a,
|
|
> a:focus {
|
|
border-color: var(--Tabs-onHover-borderColor);
|
|
border-bottom: none; // 外层已经有border-bottom了
|
|
text-decoration: none;
|
|
}
|
|
|
|
&.disabled > a,
|
|
&.is-disabled > a {
|
|
color: var(--Tabs-onDisabled-color);
|
|
background: transparent;
|
|
border-color: transparent;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&.active > a,
|
|
&.is-active > a {
|
|
color: var(--Tabs-onActive-color);
|
|
background: var(--Tabs-onActive-bg);
|
|
border-color: var(--Tabs-onActive-borderColor);
|
|
border-bottom-color: var(--Tabs-content-bg);
|
|
}
|
|
}
|
|
|
|
.#{$ns}Nav-item-overflow {
|
|
&:hover > a,
|
|
> a:focus,
|
|
&.is-overflow-opened > a {
|
|
color: var(--primary);
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
&--stacked {
|
|
min-height: px2rem(50px);
|
|
|
|
.#{$ns}Nav-item,
|
|
.#{$ns}Badge {
|
|
position: relative;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: stretch;
|
|
width: 100%;
|
|
|
|
.#{$ns}Nav-itemDrager {
|
|
cursor: move;
|
|
position: absolute;
|
|
left: 0;
|
|
display: none;
|
|
line-height: 0;
|
|
> .icon,
|
|
> .#{$ns}Badge > .icon {
|
|
color: var(--icon-color);
|
|
|
|
&:hover {
|
|
color: var(--icon-onHover-color);
|
|
}
|
|
}
|
|
|
|
svg {
|
|
width: px2rem(16px);
|
|
height: px2rem(16px);
|
|
}
|
|
}
|
|
|
|
> .#{$ns}Nav-item-badgeText {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: px2rem(35px);
|
|
overflow: hidden;
|
|
> span {
|
|
position: absolute;
|
|
top: px2rem(2px);
|
|
left: px2rem(-13px);
|
|
transform: rotate(-45deg);
|
|
width: px2rem(50px);
|
|
font-size: 12px;
|
|
text-align: center;
|
|
color: var(--white);
|
|
background: var(--success);
|
|
}
|
|
}
|
|
|
|
> .#{$ns}Nav-item-atcions {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
> a,
|
|
> .#{$ns}Badge > a {
|
|
display: flex;
|
|
align-items: center;
|
|
outline: none;
|
|
color: var(--Nav-item-color);
|
|
text-decoration: none;
|
|
padding: var(--gap-sm) var(--gap-sm);
|
|
cursor: pointer;
|
|
background: var(--Nav-item-bg);
|
|
border-radius: var(--Nav-item-borderRadius);
|
|
text-overflow: ellipsis;
|
|
flex: 1;
|
|
|
|
// &::after {
|
|
// border-left: var(--Nav-item-onActive-borderLeft);
|
|
// position: absolute;
|
|
// left: 0;
|
|
// top: 0;
|
|
// content: '';
|
|
// width: 1px;
|
|
// height: 100%;
|
|
// transform: scaleY(0.0001);
|
|
// transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1),
|
|
// opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
// }
|
|
}
|
|
|
|
> a:hover,
|
|
> a:focus,
|
|
> a:hover + .#{$ns}Nav-item-atcions,
|
|
> a:focus + .#{$ns}Nav-item-atcions,
|
|
> .#{$ns}Badge > a:hover,
|
|
> .#{$ns}Badge > a:focus,
|
|
> .#{$ns}Badge > a:hover + .#{$ns}Nav-item-atcions,
|
|
> .#{$ns}Badge > a:focus + .#{$ns}Nav-item-atcions {
|
|
border-color: var(--Nav-item-onHover-color);
|
|
text-decoration: none;
|
|
background: var(--Nav-item-onHover-bg);
|
|
z-index: 1;
|
|
}
|
|
|
|
> a:hover > .#{$ns}Nav-itemDrager,
|
|
> a:focus > .#{$ns}Nav-itemDrager,
|
|
> .#{$ns}Badge > a:hover > .#{$ns}Nav-itemDrager,
|
|
> .#{$ns}Badge > a:focus > .#{$ns}Nav-itemDrager {
|
|
display: block;
|
|
}
|
|
|
|
&.disabled > a,
|
|
&.is-disabled > a,
|
|
&.disabled > .#{$ns}Badge > a,
|
|
&.is-disabled > .#{$ns}Badge > a {
|
|
color: var(--Nav-item-onDisabled-color);
|
|
background: transparent;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&.active > a,
|
|
&.is-active > .#{$ns}Nav-item-atcions,
|
|
&.is-active > a,
|
|
&.active > .#{$ns}Badge > a,
|
|
&.is-active > .#{$ns}Badge > .#{$ns}Nav-item-atcions,
|
|
&.is-active > .#{$ns}Badge > a {
|
|
color: var(--Nav-item-onActive-color);
|
|
position: relative;
|
|
background: var(--Nav-item-onActive-bg) !important;
|
|
|
|
&::after {
|
|
transform: scaleY(1);
|
|
}
|
|
}
|
|
|
|
&.is-unfolded >,
|
|
&.is-unfolded > .#{$ns}Badge > {
|
|
a .#{$ns}Nav-itemToggler {
|
|
transform: rotate(180deg) scale(0.8);
|
|
}
|
|
|
|
.#{$ns}Nav-subItems {
|
|
display: block;
|
|
// margin-left: var(--gap-sm);
|
|
}
|
|
}
|
|
|
|
.#{$ns}Nav-spinner {
|
|
position: absolute;
|
|
right: px2rem(10px);
|
|
top: px2rem(8px);
|
|
}
|
|
|
|
.#{$ns}Nav-itemToggler {
|
|
// position: absolute;
|
|
// left: 0;
|
|
// top: px2rem(3px);
|
|
float: left;
|
|
margin-right: px2rem(10px);
|
|
height: px2rem(24px);
|
|
text-align: center;
|
|
line-height: px2rem(24px);
|
|
vertical-align: middle;
|
|
cursor: pointer;
|
|
transform: scale(0.8);
|
|
transition: transform var(--animation-duration);
|
|
|
|
> svg {
|
|
width: 10px;
|
|
height: 10px;
|
|
top: 0;
|
|
}
|
|
}
|
|
|
|
.#{$ns}Nav-subItems {
|
|
// background: var(--Nav-subNav-bg);
|
|
display: none;
|
|
padding-left: 0;
|
|
list-style: none;
|
|
width: 100%;
|
|
}
|
|
|
|
.#{$ns}Nav-item {
|
|
font-size: var(--Nav-subItem-fontSize);
|
|
|
|
// a:before {
|
|
// content: '';
|
|
// display: inline-block;
|
|
// width: px2rem(4px);
|
|
// height: px2rem(4px);
|
|
// background: #ccc;
|
|
// border-radius: px2rem(500px);
|
|
// margin-right: px2rem(8px);
|
|
// vertical-align: middle;
|
|
// }
|
|
|
|
// &.active > a:before,
|
|
// &.is-active > a:before {
|
|
// background: var(--Nav-subItem-onActiveBeforeBg);
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.#{$ns}Nav-dropIndicator {
|
|
position: absolute;
|
|
background: var(--Nav-item-onActive-color);
|
|
height: 2px;
|
|
}
|
|
}
|