mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-02 20:09:08 +08:00
50650df794
* 优化 pc 样式 * 样式微调 * Nav 支持 lazyreload * 小调整 * 补充文档 * 补充reload 逻辑 * 补充 reload 逻辑 * 改成 cfc 接口 * 多提交了文件 * 还原 example
189 lines
4.5 KiB
SCSS
189 lines
4.5 KiB
SCSS
.#{$ns}Nav {
|
|
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;
|
|
}
|
|
|
|
&--tabs {
|
|
border-bottom: var(--Tabs-borderWidth) solid var(--Tabs-borderColor);
|
|
|
|
.#{$ns}Nav-item {
|
|
margin-bottom: calc(var(--Tabs-borderWidth) * -1);
|
|
display: inline-block;
|
|
|
|
> 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-base);
|
|
cursor: pointer;
|
|
}
|
|
|
|
&:hover > a,
|
|
> a:focus {
|
|
border-color: var(--Tabs-onHover-borderColor);
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
&--stacked {
|
|
min-height: px2rem(50px);
|
|
|
|
.#{$ns}Nav-item {
|
|
position: relative;
|
|
|
|
> a {
|
|
display: block;
|
|
outline: none;
|
|
color: var(--Nav-item-color);
|
|
text-decoration: none;
|
|
padding: var(--gap-sm) var(--gap-base);
|
|
cursor: pointer;
|
|
background: var(--Nav-item-bg);
|
|
border-radius: var(--Nav-item-borderRadius);
|
|
text-overflow: ellipsis;
|
|
|
|
&::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);
|
|
}
|
|
}
|
|
|
|
&.has-sub > a {
|
|
padding-right: calc(var(--gap-base) + var(--gap-sm));
|
|
}
|
|
|
|
> a:hover,
|
|
> a:focus {
|
|
border-color: var(--Nav-item-onHover-color);
|
|
text-decoration: none;
|
|
background: var(--Nav-item-onHover-bg);
|
|
}
|
|
|
|
&.disabled > a,
|
|
&.is-disabled > a {
|
|
color: var(--Nav-item-onDisabled-color);
|
|
background: transparent;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&.active > a,
|
|
&.is-active > a {
|
|
color: var(--Nav-item-onActive-color);
|
|
background: var(--Nav-item-onActive-bg);
|
|
padding-left: px2rem(12px);
|
|
position: relative;
|
|
|
|
&::after {
|
|
transform: scaleY(1);
|
|
}
|
|
}
|
|
|
|
&.is-unfolded > {
|
|
.#{$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;
|
|
right: 0;
|
|
top: px2rem(3px);
|
|
width: px2rem(30px);
|
|
height: px2rem(30px);
|
|
text-align: center;
|
|
line-height: px2rem(30px);
|
|
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;
|
|
}
|
|
|
|
.#{$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);
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|