/* 左侧菜单:统一行高、缩进、图标和选中态。 */ #v-menu .el-menu { padding: 4px 0; background: transparent; } #v-menu .el-menu-item, #v-menu .el-sub-menu__title { /* 42px = 16px padding + 18px icon + 8px gap,父子菜单文字共用该基线。 */ height: 44px; padding-left: 16px !important; margin: 4px 8px 4px 0; overflow: hidden; color: var(--left-menu-text-color); font-size: 14px; line-height: 44px; border-radius: 8px; transition: color var(--transition-time-02), background-color var(--transition-time-02); } #v-menu .el-menu--inline { padding-left: 0 !important; } #v-menu .el-menu--inline .el-menu-item, #v-menu .el-menu--inline .el-sub-menu__title { height: 40px; padding-left: 0 !important; margin: 3px 8px 3px 42px; line-height: 40px; } #v-menu .el-menu--inline .app-icon { display: none; } #v-menu .el-menu-item .app-icon, #v-menu .el-sub-menu__title .app-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-right: 8px; } #v-menu .el-menu-item:hover, #v-menu .el-sub-menu__title:hover, #v-menu .el-sub-menu.is-opened > .el-sub-menu__title, #v-menu .el-sub-menu.is-active > .el-sub-menu__title, #v-menu .el-menu-item.is-active { color: var(--el-color-primary) !important; background-color: var(--el-color-primary-light-9) !important; } #v-menu .el-menu--inline .el-menu-item:hover, #v-menu .el-menu--inline .el-menu-item.is-active { color: var(--el-color-primary) !important; background-color: transparent !important; } #v-menu .el-menu .el-menu { background: transparent; } #v-menu .el-menu--collapse .el-menu-item, #v-menu .el-menu--collapse .el-sub-menu__title { justify-content: center; padding: 0 !important; margin: 4px 6px; } #v-menu .el-menu--collapse .app-icon { margin-right: 0; } html.dark #v-menu .el-menu-item:hover, html.dark #v-menu .el-sub-menu__title:hover { color: #fff !important; background-color: color-mix(in srgb, var(--el-color-primary) 72%, transparent) !important; } html.dark #v-menu .el-sub-menu.is-opened > .el-sub-menu__title, html.dark #v-menu .el-sub-menu.is-active > .el-sub-menu__title, html.dark #v-menu .el-menu-item.is-active { color: #fff !important; background-color: var(--app-primary-strong) !important; } html.dark #v-menu .el-menu--inline .el-menu-item:hover, html.dark #v-menu .el-menu--inline .el-menu-item.is-active { color: #fff !important; background-color: transparent !important; } .v-menu-popper--vertical, .v-menu-popper--horizontal { padding: 4px; border: 1px solid var(--el-border-color-light); border-radius: 8px; background: var(--el-bg-color-overlay); } .v-menu-popper--vertical .el-menu-item, .v-menu-popper--vertical .el-sub-menu__title, .v-menu-popper--horizontal .el-menu-item, .v-menu-popper--horizontal .el-sub-menu__title { height: 40px; padding-left: 16px !important; margin: 2px 4px; color: var(--el-text-color-regular); font-size: 14px; line-height: 40px; border-radius: 8px; } .v-menu-popper--vertical .app-icon, .v-menu-popper--horizontal .app-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-right: 8px; } html .v-menu-popper--vertical .el-menu-item:hover, html .v-menu-popper--horizontal .el-menu-item:hover, html .v-menu-popper--vertical .el-menu-item.is-active, html .v-menu-popper--horizontal .el-menu-item.is-active { color: var(--el-color-primary) !important; background-color: transparent !important; } html.dark .v-menu-popper--vertical, html.dark .v-menu-popper--horizontal { border-color: var(--el-border-color); } html.dark .v-menu-popper--vertical .el-menu-item:hover, html.dark .v-menu-popper--horizontal .el-menu-item:hover, html.dark .v-menu-popper--vertical .el-menu-item.is-active, html.dark .v-menu-popper--horizontal .el-menu-item.is-active { color: #fff !important; background-color: transparent !important; }