@fesjs/fes-design
Version:
fes-design for PC
266 lines (265 loc) • 8.36 kB
CSS
.fes-sub-menu {
position: relative;
color: var(--f-sub-menu-color);
cursor: pointer;
}
.fes-sub-menu-wrapper {
display: flex;
align-items: center;
width: 100%;
padding: 0 var(--f-padding-small);
color: var(--f-sub-menu-wrapper-color);
transition: all 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
}
.fes-sub-menu-icon {
display: flex;
align-items: center;
margin-right: var(--f-padding-xsmall);
}
.fes-sub-menu-arrow {
display: flex;
align-items: center;
margin-left: var(--f-padding-xsmall);
}
.fes-sub-menu-arrow.is-opened {
transform: rotate(180deg);
}
.fes-sub-menu-label {
display: block;
flex: auto;
}
.fes-sub-menu:hover > .fes-sub-menu-wrapper,
.fes-sub-menu.is-active > .fes-sub-menu-wrapper {
--f-sub-menu-wrapper-color: var(--f-primary-color);
transition: all 0.2s cubic-bezier(0.9, 0, 0.3, 0.7);
}
.fes-menu-item {
position: relative;
color: var(--f-menu-item-color);
cursor: pointer;
}
.fes-menu-item-wrapper {
display: flex;
align-items: center;
width: 100%;
padding: 0 var(--f-padding-small);
color: var(--f-menu-item-wrapper-color);
transition: all 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
}
.fes-menu-item-icon {
display: flex;
align-items: center;
margin-right: var(--f-padding-xsmall);
}
.fes-menu-item-label {
display: block;
flex: auto;
}
.fes-menu-item:hover > .fes-menu-item-wrapper,
.fes-menu-item.is-active > .fes-menu-item-wrapper {
--f-menu-item-wrapper-color: var(--f-primary-color);
transition: all 0.2s cubic-bezier(0.9, 0, 0.3, 0.7);
}
.fes-menu-item.is-disabled:hover {
cursor: not-allowed;
}
.fes-menu-item.is-disabled .fes-menu-item-wrapper {
color: var(--f-text-color-secondary);
}
.fes-menu-group {
color: var(--f-text-color-secondary);
line-height: 32px;
cursor: auto;
}
.fes-menu-group-label {
display: block;
max-width: 100%;
padding: 0 var(--f-padding-middle);
}
.fes-sub-menu-popper {
--f-sub-menu-color: var(--f-head-color);
--f-sub-menu-wrapper-color: inherit;
--f-menu-item-color: var(--f-head-color);
--f-menu-item-wrapper-color: inherit;
color: var(--f-text-color);
font-size: var(--f-font-size-base);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-variant: tabular-nums;
line-height: 22px;
font-feature-settings: 'tnum';
width: 200px;
padding: var(--f-padding-xsmall) 0;
overflow: visible;
line-height: 32px;
}
.fes-sub-menu-popper,
.fes-sub-menu-popper * {
box-sizing: border-box;
}
.fes-sub-menu-popper .fes-menu-item.is-active > .fes-menu-item-wrapper {
background-color: var(--f-hover-color-light);
}
.fes-sub-menu-popper .fes-menu-group-label {
padding: 0 var(--f-padding-small);
}
.fes-sub-menu-popper .fes-menu-group > .fes-menu-item > .fes-menu-item-wrapper {
padding-left: calc(var(--f-padding-small) * 2);
}
.fes-sub-menu-popper .fes-menu-group > .fes-sub-menu > .fes-sub-menu-wrapper {
padding-left: calc(var(--f-padding-small) * 2);
}
.fes-menu {
--f-sub-menu-color: var(--f-head-color);
--f-sub-menu-wrapper-color: inherit;
--f-menu-item-color: var(--f-head-color);
--f-menu-item-wrapper-color: inherit;
margin: 0;
padding: 0;
outline: none;
color: var(--f-text-color);
font-size: var(--f-font-size-base);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-variant: tabular-nums;
font-feature-settings: 'tnum';
width: 100%;
line-height: 22px;
background-color: var(--f-white);
}
.fes-menu,
.fes-menu * {
box-sizing: border-box;
}
.fes-menu.is-vertical.is-inverted,
.fes-menu.is-horizontal.is-inverted {
color: var(--f-text-color-caption);
background-color: var(--f-font-color-base);
}
.fes-menu.is-vertical.is-inverted .fes-sub-menu,
.fes-menu.is-horizontal.is-inverted .fes-sub-menu {
--f-sub-menu-color: var(--f-text-color-caption);
}
.fes-menu.is-vertical.is-inverted .fes-sub-menu:hover > .fes-sub-menu-wrapper,
.fes-menu.is-horizontal.is-inverted .fes-sub-menu:hover > .fes-sub-menu-wrapper {
--f-sub-menu-wrapper-color: var(--f-white);
}
.fes-menu.is-vertical.is-inverted .fes-sub-menu.is-active > .fes-sub-menu-wrapper,
.fes-menu.is-horizontal.is-inverted .fes-sub-menu.is-active > .fes-sub-menu-wrapper {
--f-sub-menu-wrapper-color: var(--f-white);
}
.fes-menu.is-vertical.is-inverted .fes-menu-item,
.fes-menu.is-horizontal.is-inverted .fes-menu-item {
--f-menu-item-color: var(--f-text-color-caption);
}
.fes-menu.is-vertical.is-inverted .fes-menu-item:hover > .fes-menu-item-wrapper,
.fes-menu.is-horizontal.is-inverted .fes-menu-item:hover > .fes-menu-item-wrapper,
.fes-menu.is-vertical.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper,
.fes-menu.is-horizontal.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper {
--f-menu-item-wrapper-color: var(--f-white);
}
.fes-menu.is-vertical.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper,
.fes-menu.is-horizontal.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper {
background-color: var(--f-primary-color);
}
.fes-menu.is-vertical.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper::after,
.fes-menu.is-horizontal.is-inverted .fes-menu-item.is-active > .fes-menu-item-wrapper::after {
display: none;
}
.fes-menu.is-vertical.is-inverted .fes-menu-group,
.fes-menu.is-horizontal.is-inverted .fes-menu-group {
color: var(--f-text-color-caption);
}
.fes-menu.is-horizontal {
display: flex;
flex-wrap: nowrap;
align-items: center;
height: 54px;
}
.fes-menu.is-horizontal > .fes-sub-menu,
.fes-menu.is-horizontal > .fes-menu-item {
height: 100%;
}
.fes-menu.is-horizontal > .fes-sub-menu > .fes-menu-item-wrapper,
.fes-menu.is-horizontal > .fes-menu-item > .fes-menu-item-wrapper,
.fes-menu.is-horizontal > .fes-sub-menu > .fes-sub-menu-wrapper,
.fes-menu.is-horizontal > .fes-menu-item > .fes-sub-menu-wrapper {
height: 100%;
padding: 0 var(--f-padding-middle);
}
.fes-menu.is-horizontal > .fes-sub-menu.is-active::after,
.fes-menu.is-horizontal > .fes-menu-item.is-active::after {
position: absolute;
right: var(--f-padding-middle);
bottom: 0;
left: var(--f-padding-middle);
height: 2px;
background-color: var(--f-primary-color);
content: '';
}
.fes-menu.is-horizontal.is-inverted {
border-bottom: none;
}
.fes-menu.is-horizontal.is-inverted > .fes-sub-menu.is-active::after,
.fes-menu.is-horizontal.is-inverted > .fes-menu-item.is-active::after {
display: none;
}
.fes-menu.is-vertical {
transition: width 0.2s;
}
.fes-menu.is-vertical .fes-sub-menu-wrapper {
height: 54px;
padding: 0 var(--f-padding-middle);
}
.fes-menu.is-vertical .fes-menu-item-wrapper {
height: 54px;
padding: 0 var(--f-padding-middle);
}
.fes-menu.is-vertical .fes-menu-item.is-active > .fes-menu-item-wrapper {
background-color: var(--f-hover-color-light);
}
.fes-menu.is-vertical .fes-menu-item.is-active > .fes-menu-item-wrapper::after {
position: absolute;
top: 16px;
right: 0;
bottom: 16px;
width: 2px;
background-color: var(--f-primary-color);
content: '';
}
.fes-menu.is-vertical .fes-menu-group {
line-height: 32px;
}
.fes-menu.is-vertical.is-inverted.is-collapsed .fes-sub-menu.is-active > .fes-sub-menu-wrapper {
color: var(--f-white);
}
.fes-menu.is-vertical.is-inverted.is-collapsed .fes-sub-menu.is-active > .fes-sub-menu-wrapper::after {
display: none;
}
.fes-menu.is-vertical.is-collapsed {
width: 48px;
}
.fes-menu.is-vertical.is-collapsed .fes-sub-menu-wrapper {
height: 32px;
overflow: hidden;
}
.fes-menu.is-vertical.is-collapsed .fes-sub-menu-label {
white-space: nowrap;
}
.fes-menu.is-vertical.is-collapsed .fes-menu-item-wrapper {
height: 32px;
overflow: hidden;
}
.fes-menu.is-vertical.is-collapsed .fes-menu-item-label {
white-space: nowrap;
}
.fes-menu.is-vertical.is-collapsed .fes-menu-group {
line-height: 32px;
}
.fes-menu.is-vertical.is-collapsed > .fes-sub-menu > .fes-sub-menu-wrapper {
height: 54px;
}
.fes-menu.is-vertical.is-collapsed > .fes-menu-item > .fes-menu-item-wrapper {
height: 54px;
}
.fes-menu.is-vertical.is-collapsed > .fes-menu-group {
line-height: 54px;
}