@deppon/deppon-template 2.4.4 → 2.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1166,9 +1166,16 @@ body .el-overlay-dialog,
1166
1166
  width: 100%;
1167
1167
  height: 100%;
1168
1168
  overflow: hidden;
1169
- background: radial-gradient(circle at 8% 10%, rgba(64, 158, 255, 0.08), transparent 44%), radial-gradient(circle at 88% 0%, rgba(99, 102, 241, 0.08), transparent 38%), linear-gradient(180deg, #f6f9ff 0%, #f4f7fd 100%);
1170
- /* 覆盖 Element Plus 按钮样式,确保优先级 */
1171
- /* 防止 header-right 插槽内容挤压操作按钮 */
1169
+ --pro-layout-header-bg: var(--el-bg-color, #ffffff);
1170
+ --pro-layout-tags-bar-bg: var(--pro-layout-header-bg);
1171
+ --pro-layout-main-bg: var(--el-bg-color-page, #f2f3f5);
1172
+ /* 顶栏横向菜单:圆体(可通过 --pro-layout-top-menu-font-family 覆盖) */
1173
+ --pro-layout-top-menu-font-family: 'Yuanti SC', 'Yuanti TC', 'Hiragino Sans GB', 'PingFang SC', 'Microsoft YaHei UI', system-ui, sans-serif;
1174
+ --pro-layout-top-menu-active-bar-width: 28px;
1175
+ --pro-layout-top-menu-active-bar-height: 3px;
1176
+ /* 选中态:下划线距菜单项底边的距离(绝对定位,不占文字布局) */
1177
+ --pro-layout-top-menu-active-bar-offset: 4px;
1178
+ background: #fff !important;
1172
1179
  }
1173
1180
  .pro-layout__sider {
1174
1181
  display: flex;
@@ -1181,9 +1188,6 @@ body .el-overlay-dialog,
1181
1188
  box-shadow: 2px 0 8px var(--pro-shadow-color-sider, rgba(0, 0, 0, 0.12));
1182
1189
  transition: width 0.3s ease, transform 0.3s ease;
1183
1190
  flex-shrink: 0;
1184
- /* 去除菜单组右侧的竖线 */
1185
- /* 直接针对 Element Plus 的 .el-menu 类设置样式 */
1186
- /* 确保 .pro-layout__menu 类也能正确匹配 */
1187
1191
  }
1188
1192
  .pro-layout__sider .el-scrollbar__view {
1189
1193
  overflow: visible;
@@ -1203,8 +1207,6 @@ body .el-overlay-dialog,
1203
1207
  }
1204
1208
  .pro-layout__sider .pro-layout__menu-group {
1205
1209
  border-right: none !important;
1206
- /* 确保菜单项也没有右侧边框 */
1207
- /* 直接针对菜单组内的 Element Plus 菜单设置样式 */
1208
1210
  }
1209
1211
  .pro-layout__sider .pro-layout__menu-group::after,
1210
1212
  .pro-layout__sider .pro-layout__menu-group::before {
@@ -1403,8 +1405,6 @@ body .el-overlay-dialog,
1403
1405
  border-bottom: 1px solid var(--el-border-color-lighter, #f0f0f0) !important;
1404
1406
  margin-bottom: 8px;
1405
1407
  margin-top: -1px;
1406
- /* 确保边框重叠时不会出现双边框 */
1407
- /* 收缩时居中显示首字符 */
1408
1408
  }
1409
1409
  .pro-layout__menu-group-header-left {
1410
1410
  display: flex;
@@ -1466,7 +1466,6 @@ body .el-overlay-dialog,
1466
1466
  background-color: transparent;
1467
1467
  font-weight: 400;
1468
1468
  font-family: var(--pro-font-family, 'PingFangSC-Regular') !important;
1469
- /* 常用菜单项样式 */
1470
1469
  }
1471
1470
  .pro-layout__menu--common .el-menu-item .el-menu-item__title {
1472
1471
  display: flex;
@@ -1509,14 +1508,11 @@ body .el-overlay-dialog,
1509
1508
  }
1510
1509
  .pro-layout__header {
1511
1510
  padding: 0 !important;
1512
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 255, 0.92)) !important;
1513
- backdrop-filter: blur(10px);
1511
+ background: var(--pro-layout-header-bg) !important;
1514
1512
  position: relative;
1515
1513
  z-index: 100;
1516
1514
  width: 100vw;
1517
1515
  border-bottom: 1px solid rgba(39, 82, 173, 0.08) !important;
1518
- box-shadow: 0 8px 24px rgba(31, 56, 104, 0.06);
1519
- /* 覆盖 Element Plus 默认的按钮间距 */
1520
1516
  }
1521
1517
  .pro-layout__header--fixed {
1522
1518
  position: fixed;
@@ -1524,8 +1520,6 @@ body .el-overlay-dialog,
1524
1520
  left: 0;
1525
1521
  right: 0;
1526
1522
  z-index: 1000;
1527
- border-bottom: 1px solid rgba(39, 82, 173, 0.08) !important;
1528
- box-shadow: 0 8px 24px rgba(31, 56, 104, 0.06);
1529
1523
  }
1530
1524
  .pro-layout__header-content {
1531
1525
  display: flex;
@@ -1657,31 +1651,285 @@ body .el-overlay-dialog,
1657
1651
  .pro-layout__top-menu {
1658
1652
  flex: 1;
1659
1653
  min-width: 0;
1654
+ display: flex;
1655
+ align-items: center;
1656
+ justify-content: flex-start;
1657
+ margin: 0 6px;
1660
1658
  padding: 0 6px;
1659
+ /* 覆盖 Element Plus:.el-menu-item [class^=el-icon] 的 margin-right,间距改由 label 的 gap 控制 */
1660
+ /* 首项(工作台):浅灰底、紧凑内边距,字与图标近黑、同一水平线 */
1661
+ /* 其余项选中:加粗、近黑字;下划线挂在菜单项上,绝对定位不占布局、不挡选中背景 */
1662
+ }
1663
+ .pro-layout__top-menu-glass {
1664
+ display: flex;
1665
+ flex: 1;
1666
+ min-width: 0;
1667
+ width: 100%;
1668
+ align-items: center;
1669
+ justify-content: flex-start;
1670
+ padding: 0;
1671
+ background: transparent;
1672
+ border: none;
1673
+ box-shadow: none;
1674
+ backdrop-filter: none;
1675
+ -webkit-backdrop-filter: none;
1676
+ }
1677
+ .pro-layout__top-menu-divider-line {
1678
+ display: block;
1679
+ width: 1px;
1680
+ height: 18px;
1681
+ margin: 0 auto;
1682
+ border-radius: 1px;
1683
+ background: rgba(0, 0, 0, 0.08);
1661
1684
  }
1662
1685
  .pro-layout__top-menu .pro-layout__top-menu-el {
1686
+ --el-menu-bg-color: transparent !important;
1687
+ --el-menu-horizontal-height: 40px;
1663
1688
  background: transparent !important;
1664
1689
  border-bottom: none !important;
1690
+ height: auto !important;
1691
+ min-height: 0 !important;
1692
+ flex: 1;
1693
+ min-width: 0;
1694
+ font-family: var(--pro-layout-top-menu-font-family) !important;
1665
1695
  }
1666
- .pro-layout__top-menu .el-menu-item {
1667
- height: 38px !important;
1668
- margin: 8px 6px !important;
1696
+ .pro-layout__top-menu .pro-layout__top-menu-el.el-menu--horizontal {
1697
+ display: flex !important;
1698
+ flex-wrap: nowrap !important;
1699
+ align-items: center !important;
1700
+ }
1701
+ .pro-layout__top-menu .el-menu-item,
1702
+ .pro-layout__top-menu .el-sub-menu__title {
1703
+ min-height: 30px !important;
1704
+ height: 30px !important;
1705
+ line-height: 1.2 !important;
1706
+ margin: 0 4px !important;
1707
+ padding: 0 14px !important;
1669
1708
  border-radius: 10px !important;
1670
1709
  border-bottom: none !important;
1671
- color: #4a5b76 !important;
1672
- transition: all 0.2s ease !important;
1710
+ font-family: inherit !important;
1711
+ font-size: 14px !important;
1712
+ font-weight: 500 !important;
1713
+ letter-spacing: 0.03em !important;
1714
+ color: rgba(0, 0, 0, 0.52) !important;
1715
+ background: transparent !important;
1716
+ user-select: none;
1717
+ transition: background 0.2s ease, color 0.2s ease !important;
1718
+ display: inline-flex !important;
1719
+ align-items: center !important;
1720
+ justify-content: center !important;
1721
+ box-sizing: border-box !important;
1673
1722
  }
1674
- .pro-layout__top-menu .el-menu-item:hover {
1675
- color: #1f6bff !important;
1676
- background: rgba(64, 158, 255, 0.09) !important;
1723
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-divider {
1724
+ height: 40px !important;
1725
+ min-height: 40px !important;
1726
+ line-height: 1 !important;
1727
+ width: 14px !important;
1728
+ min-width: 14px !important;
1729
+ max-width: 14px !important;
1730
+ padding: 0 !important;
1731
+ margin: 0 6px !important;
1732
+ cursor: default !important;
1733
+ opacity: 1 !important;
1734
+ pointer-events: none !important;
1735
+ background: transparent !important;
1736
+ border-radius: 0 !important;
1737
+ display: inline-flex !important;
1738
+ align-items: center !important;
1739
+ justify-content: center !important;
1740
+ box-sizing: border-box !important;
1677
1741
  }
1678
- .pro-layout__top-menu .el-menu-item.is-active {
1679
- background: linear-gradient(135deg, rgba(57, 124, 255, 0.18), rgba(108, 74, 255, 0.15)) !important;
1680
- box-shadow: 0 8px 20px rgba(56, 108, 255, 0.16);
1742
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-divider:hover,
1743
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-divider:focus {
1744
+ background: transparent !important;
1681
1745
  }
1682
- .pro-layout__top-menu .el-menu-item.is-active .pro-layout__top-menu-item-label {
1683
- color: #1651d7 !important;
1684
- font-weight: 700;
1746
+ .pro-layout__top-menu .pro-layout__top-menu-item-label {
1747
+ display: inline-flex;
1748
+ align-items: center;
1749
+ gap: 6px;
1750
+ padding-bottom: 0;
1751
+ line-height: 1.2;
1752
+ vertical-align: middle;
1753
+ }
1754
+ .pro-layout__top-menu .pro-layout__top-menu-item-text {
1755
+ display: inline-block;
1756
+ line-height: 1.2;
1757
+ }
1758
+ .pro-layout__top-menu .pro-layout__top-menu-item-icon {
1759
+ font-size: 17px;
1760
+ color: rgba(0, 0, 0, 0.45) !important;
1761
+ }
1762
+ .pro-layout__top-menu .pro-layout__top-menu-el .el-menu-item [class^='el-icon'],
1763
+ .pro-layout__top-menu .pro-layout__top-menu-el .el-menu-item .el-icon,
1764
+ .pro-layout__top-menu .pro-layout__top-menu-el .el-sub-menu__title [class^='el-icon'],
1765
+ .pro-layout__top-menu .pro-layout__top-menu-el .el-sub-menu__title .el-icon {
1766
+ margin-right: 0 !important;
1767
+ }
1768
+ .pro-layout__top-menu .pro-layout__top-menu-item-badge {
1769
+ margin-left: 2px;
1770
+ vertical-align: middle;
1771
+ line-height: 1;
1772
+ }
1773
+ .pro-layout__top-menu .pro-layout__top-menu-item-badge .el-badge__content {
1774
+ height: 18px;
1775
+ line-height: 18px;
1776
+ padding: 0 6px;
1777
+ border-radius: 6px !important;
1778
+ font-size: 11px !important;
1779
+ font-weight: 700 !important;
1780
+ border: none !important;
1781
+ background: linear-gradient(180deg, #ffb347 0%, #ff8c42 100%) !important;
1782
+ color: #fff !important;
1783
+ }
1784
+ .pro-layout__top-menu .el-menu-item:not(.is-disabled:not(.pro-layout__top-menu-divider):focus-visible),
1785
+ .pro-layout__top-menu .el-sub-menu:not(.is-disabled .el-sub-menu__title:focus-visible) {
1786
+ outline: 2px solid color-mix(in srgb, var(--el-color-primary, #409eff) 38%, transparent);
1787
+ outline-offset: 2px;
1788
+ border-radius: 10px;
1789
+ }
1790
+ .pro-layout__top-menu .el-menu-item:hover:not(.is-disabled:not(.is-active):not(.pro-layout__top-menu-divider):not(
1791
+ .pro-layout__top-menu-item--lead
1792
+ )),
1793
+ .pro-layout__top-menu .el-sub-menu:not(.is-disabled:not(.is-active):not(.pro-layout__top-menu-item--lead):hover > .el-sub-menu__title) {
1794
+ color: rgba(0, 0, 0, 0.72) !important;
1795
+ background: transparent !important;
1796
+ }
1797
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead:not(.pro-layout__top-menu-divider) {
1798
+ padding: 0 8px !important;
1799
+ margin: 0 2px !important;
1800
+ border-radius: 8px !important;
1801
+ background: rgba(0, 0, 0, 0.06) !important;
1802
+ color: rgba(0, 0, 0, 0.92) !important;
1803
+ font-weight: 500 !important;
1804
+ }
1805
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead:not(.pro-layout__top-menu-divider
1806
+ .pro-layout__top-menu-item-label
1807
+ ) {
1808
+ gap: 5px !important;
1809
+ align-items: center !important;
1810
+ }
1811
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead:not(.is-active:hover:not(.pro-layout__top-menu-divider)) {
1812
+ background: rgba(0, 0, 0, 0.078) !important;
1813
+ color: #000 !important;
1814
+ }
1815
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead.is-active {
1816
+ background: rgba(0, 0, 0, 0.085) !important;
1817
+ color: #000 !important;
1818
+ font-weight: 600 !important;
1819
+ box-shadow: none !important;
1820
+ }
1821
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-icon {
1822
+ font-size: 16px !important;
1823
+ color: rgba(0, 0, 0, 0.88) !important;
1824
+ }
1825
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-icon svg {
1826
+ fill: currentColor !important;
1827
+ }
1828
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead.is-active .pro-layout__top-menu-item-icon {
1829
+ color: #000 !important;
1830
+ }
1831
+ .pro-layout__top-menu .el-menu-item.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-text {
1832
+ color: inherit !important;
1833
+ }
1834
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead > .el-sub-menu__title {
1835
+ padding: 0 8px !important;
1836
+ margin: 0 2px !important;
1837
+ border-radius: 8px !important;
1838
+ background: rgba(0, 0, 0, 0.06) !important;
1839
+ color: rgba(0, 0, 0, 0.92) !important;
1840
+ font-weight: 500 !important;
1841
+ }
1842
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead:not(.is-active:hover > .el-sub-menu__title) {
1843
+ background: rgba(0, 0, 0, 0.078) !important;
1844
+ color: #000 !important;
1845
+ }
1846
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead.is-active > .el-sub-menu__title {
1847
+ background: rgba(0, 0, 0, 0.085) !important;
1848
+ color: #000 !important;
1849
+ font-weight: 600 !important;
1850
+ }
1851
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-label {
1852
+ gap: 5px !important;
1853
+ align-items: center !important;
1854
+ }
1855
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-icon {
1856
+ font-size: 16px !important;
1857
+ color: rgba(0, 0, 0, 0.88) !important;
1858
+ }
1859
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-icon svg {
1860
+ fill: currentColor !important;
1861
+ }
1862
+ .pro-layout__top-menu .el-sub-menu.pro-layout__top-menu-item--lead.is-active .pro-layout__top-menu-item-icon {
1863
+ color: #000 !important;
1864
+ }
1865
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead)) {
1866
+ position: relative !important;
1867
+ color: rgba(0, 0, 0, 0.88) !important;
1868
+ background: transparent !important;
1869
+ box-shadow: none !important;
1870
+ font-weight: 700 !important;
1871
+ }
1872
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead)::after) {
1873
+ content: '';
1874
+ position: absolute;
1875
+ left: 50%;
1876
+ bottom: -2px;
1877
+ width: var(--pro-layout-top-menu-active-bar-width);
1878
+ height: var(--pro-layout-top-menu-active-bar-height);
1879
+ transform: translateX(-50%);
1880
+ border-radius: 999px;
1881
+ background: var(--el-color-primary, #409eff);
1882
+ box-shadow: 0 1px 4px color-mix(in srgb, var(--el-color-primary, #409eff) 35%, transparent);
1883
+ pointer-events: none;
1884
+ z-index: 1;
1885
+ }
1886
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead):hover) {
1887
+ background: transparent !important;
1888
+ }
1889
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead > .el-sub-menu__title) {
1890
+ position: relative !important;
1891
+ color: rgba(0, 0, 0, 0.88) !important;
1892
+ background: transparent !important;
1893
+ box-shadow: none !important;
1894
+ font-weight: 700 !important;
1895
+ }
1896
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead > .el-sub-menu__title::after) {
1897
+ content: '';
1898
+ position: absolute;
1899
+ left: 50%;
1900
+ bottom: -2px;
1901
+ width: var(--pro-layout-top-menu-active-bar-width);
1902
+ height: var(--pro-layout-top-menu-active-bar-height);
1903
+ transform: translateX(-50%);
1904
+ border-radius: 999px;
1905
+ background: var(--el-color-primary, #409eff);
1906
+ box-shadow: 0 1px 4px color-mix(in srgb, var(--el-color-primary, #409eff) 35%, transparent);
1907
+ pointer-events: none;
1908
+ z-index: 1;
1909
+ }
1910
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead > .el-sub-menu__title:hover) {
1911
+ background: transparent !important;
1912
+ }
1913
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead) .pro-layout__top-menu-item-label),
1914
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-label) {
1915
+ color: rgba(0, 0, 0, 0.88) !important;
1916
+ font-weight: 700 !important;
1917
+ }
1918
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead) .pro-layout__top-menu-item-text),
1919
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-text) {
1920
+ color: rgba(0, 0, 0, 0.88) !important;
1921
+ }
1922
+ .pro-layout__top-menu .el-menu-item.is-active:not(.pro-layout__top-menu-divider:not(.pro-layout__top-menu-item--lead) .pro-layout__top-menu-item-icon),
1923
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead .pro-layout__top-menu-item-icon) {
1924
+ color: rgba(0, 0, 0, 0.62) !important;
1925
+ }
1926
+ .pro-layout__top-menu .el-sub-menu__icon-arrow {
1927
+ margin-left: 2px !important;
1928
+ transition: color 0.2s ease !important;
1929
+ color: rgba(0, 0, 0, 0.35) !important;
1930
+ }
1931
+ .pro-layout__top-menu .el-sub-menu.is-active:not(.pro-layout__top-menu-item--lead .el-sub-menu__icon-arrow) {
1932
+ color: rgba(0, 0, 0, 0.5) !important;
1685
1933
  }
1686
1934
  .pro-layout__breadcrumb {
1687
1935
  display: flex;
@@ -1741,25 +1989,30 @@ body .el-overlay-dialog,
1741
1989
  .pro-layout__tags-view {
1742
1990
  flex-shrink: 0;
1743
1991
  height: auto !important;
1744
- min-height: 48px !important;
1745
- background: transparent !important;
1992
+ padding: 0 !important;
1993
+ margin: 0 !important;
1994
+ display: flex;
1995
+ flex-direction: column;
1996
+ background: var(--pro-layout-header-bg) !important;
1746
1997
  border-bottom: none !important;
1747
1998
  overflow: visible;
1748
1999
  }
1749
2000
  .pro-layout__tags-menu {
2001
+ --el-menu-bg-color: var(--pro-layout-header-bg) !important;
1750
2002
  display: flex !important;
1751
- align-items: center;
2003
+ flex: 1 1 auto;
2004
+ align-self: stretch;
2005
+ align-items: flex-end;
1752
2006
  flex-wrap: nowrap !important;
1753
2007
  overflow-x: auto !important;
1754
- overflow-y: hidden !important;
1755
- min-height: 48px;
1756
- padding: 6px 12px !important;
1757
- margin: 8px 14px 6px;
1758
- border-radius: 12px;
2008
+ overflow-y: visible !important;
2009
+ padding: 0 !important;
2010
+ margin: 0 !important;
1759
2011
  border: none !important;
1760
2012
  outline: none;
1761
- background: transparent !important;
1762
- box-shadow: none;
2013
+ background: var(--pro-layout-header-bg) !important;
2014
+ min-height: 100%;
2015
+ width: 100%;
1763
2016
  height: auto !important;
1764
2017
  }
1765
2018
  .pro-layout__tags-menu.el-menu.el-menu--horizontal {
@@ -1769,45 +2022,94 @@ body .el-overlay-dialog,
1769
2022
  }
1770
2023
  .pro-layout__tags-menu .el-menu-item {
1771
2024
  flex: 0 0 auto;
1772
- height: 34px !important;
1773
- line-height: 34px !important;
1774
- margin-right: 8px !important;
2025
+ height: 36px !important;
2026
+ line-height: 36px !important;
2027
+ margin-right: 4px !important;
1775
2028
  margin-top: 0;
1776
2029
  margin-bottom: 0;
1777
2030
  padding: 0 12px !important;
1778
- border-radius: 8px !important;
2031
+ border-radius: 10px 10px 0 0 !important;
1779
2032
  border: none !important;
1780
2033
  border-bottom: none !important;
1781
2034
  background: transparent !important;
1782
- transition: all 0.2s ease;
2035
+ transition: color 0.2s ease;
1783
2036
  position: relative;
1784
2037
  cursor: pointer;
1785
2038
  display: flex;
1786
2039
  align-items: center;
1787
2040
  }
1788
- .pro-layout__tags-menu .el-menu-item:not(:last-child):not(.is-active)::after {
1789
- display: none;
1790
- }
1791
- .pro-layout__tags-menu .el-menu-item:hover {
1792
- background: rgba(78, 138, 255, 0.1) !important;
2041
+ .pro-layout__tags-menu .el-menu-item:not(.is-active):hover {
2042
+ background: transparent !important;
1793
2043
  }
1794
2044
  .pro-layout__tags-menu .el-menu-item.is-active {
2045
+ z-index: 2;
1795
2046
  border: none !important;
1796
- background: linear-gradient(135deg, #ffffff, #f3f8ff) !important;
1797
- box-shadow: 0 4px 12px rgba(59, 98, 186, 0.16);
2047
+ background: var(--pro-layout-main-bg) !important;
2048
+ box-shadow: none !important;
1798
2049
  border-bottom: none !important;
1799
2050
  overflow: visible;
1800
2051
  }
2052
+ .pro-layout__tags-menu .el-menu-item.is-active::before {
2053
+ content: '';
2054
+ position: absolute;
2055
+ left: -8px;
2056
+ bottom: 0;
2057
+ width: 8px;
2058
+ height: 8px;
2059
+ background: var(--pro-layout-tags-bar-bg);
2060
+ border-bottom-right-radius: 8px;
2061
+ box-shadow: 2px 2px 0 0 var(--pro-layout-main-bg);
2062
+ }
2063
+ .pro-layout__tags-menu .el-menu-item.is-active::after {
2064
+ content: '';
2065
+ position: absolute;
2066
+ right: -8px;
2067
+ bottom: 0;
2068
+ width: 8px;
2069
+ height: 8px;
2070
+ background: var(--pro-layout-tags-bar-bg);
2071
+ border-bottom-left-radius: 8px;
2072
+ box-shadow: -2px 2px 0 0 var(--pro-layout-main-bg);
2073
+ }
2074
+ .pro-layout__tags-menu .pro-layout__tag-item--affix {
2075
+ padding: 0 10px !important;
2076
+ min-width: 40px;
2077
+ justify-content: center;
2078
+ border-radius: 10px 10px 0 0 !important;
2079
+ }
2080
+ .pro-layout__tags-menu .pro-layout__tag-item--affix.is-active::before {
2081
+ display: none;
2082
+ }
1801
2083
  .pro-layout__tags-menu .pro-layout__tag-label {
1802
2084
  color: #46556f;
1803
2085
  font-size: 12px;
1804
2086
  font-weight: 500;
1805
2087
  text-decoration: none !important;
1806
2088
  }
1807
- .pro-layout__tags-menu .el-menu-item.is-active .pro-layout__tag-label {
1808
- color: #2259d2 !important;
2089
+ .pro-layout__tags-menu .pro-layout__tag-label--affix-icon {
2090
+ display: inline-flex;
2091
+ align-items: center;
2092
+ justify-content: center;
2093
+ flex: none !important;
2094
+ overflow: visible;
2095
+ }
2096
+ .pro-layout__tags-menu .pro-layout__tag-label--affix-icon .el-icon {
2097
+ font-size: 16px;
2098
+ color: #5c6c84;
2099
+ }
2100
+ .pro-layout__tags-menu .pro-layout__tag-item--affix.is-active .pro-layout__tag-label--affix-icon .el-icon {
2101
+ color: var(--el-color-primary, #409eff);
2102
+ }
2103
+ .pro-layout__tags-menu .el-menu-item.is-active .pro-layout__tag-label:not(.pro-layout__tag-label--affix-icon) {
2104
+ color: var(--el-color-primary, #409eff) !important;
1809
2105
  font-weight: 600;
1810
2106
  }
2107
+ .pro-layout__tags-menu .el-menu-item:not(.is-active:hover .pro-layout__tag-label:not(.pro-layout__tag-label--affix-icon)) {
2108
+ color: var(--el-color-primary, #409eff) !important;
2109
+ }
2110
+ .pro-layout__tags-menu .el-menu-item:not(.is-active:hover .pro-layout__tag-label--affix-icon .el-icon) {
2111
+ color: var(--el-color-primary, #409eff) !important;
2112
+ }
1811
2113
  .pro-layout__tags-menu .pro-layout__tag-actions .pro-layout__tag-icon {
1812
2114
  color: #8a98b2;
1813
2115
  font-size: 12px;
@@ -1816,7 +2118,7 @@ body .el-overlay-dialog,
1816
2118
  display: inline-flex;
1817
2119
  align-items: center;
1818
2120
  gap: 2px;
1819
- margin-left: 2px;
2121
+ margin-left: 4px;
1820
2122
  }
1821
2123
  .pro-layout__tags-menu .pro-layout__tag-item .pro-layout__tag-icon {
1822
2124
  margin-left: 0 !important;
@@ -1826,28 +2128,6 @@ body .el-overlay-dialog,
1826
2128
  .pro-layout__tags-menu .pro-layout__tag-actions .pro-layout__tag-icon:hover {
1827
2129
  color: #2b65f5 !important;
1828
2130
  }
1829
- .pro-layout__tags-menu .fixed-home-tag-item {
1830
- cursor: pointer;
1831
- user-select: none;
1832
- padding: 0 12px !important;
1833
- background: linear-gradient(135deg, #eff5ff, #e8f1ff) !important;
1834
- box-shadow: none !important;
1835
- }
1836
- .pro-layout__tags-menu .fixed-home-tag-item .fixed-home-tag-label {
1837
- display: inline-flex;
1838
- align-items: center;
1839
- gap: 6px;
1840
- color: #2e5ccf;
1841
- font-weight: 600;
1842
- }
1843
- .pro-layout__tags-menu .fixed-home-tag-item .fixed-home-tag-icon {
1844
- font-style: normal;
1845
- font-size: 14px;
1846
- line-height: 1;
1847
- }
1848
- .pro-layout__tags-menu .fixed-home-tag-item .pro-layout__tag-actions {
1849
- display: none !important;
1850
- }
1851
2131
  .pro-layout__tags-menu > .el-sub-menu {
1852
2132
  margin-left: auto !important;
1853
2133
  position: sticky;
@@ -1879,7 +2159,6 @@ body .el-overlay-dialog,
1879
2159
  }
1880
2160
  .pro-layout__tag-item.is-active .pro-layout__tag-icon:hover {
1881
2161
  color: var(--el-text-color-regular, #606266) !important;
1882
- background-color: var(--el-fill-color-dark, #e4e7ed) !important;
1883
2162
  }
1884
2163
  .pro-layout__tag-item.is-active .pro-layout__tag-icon:hover .el-icon,
1885
2164
  .pro-layout__tag-item.is-active .pro-layout__tag-icon:hover svg {
@@ -1916,7 +2195,6 @@ body .el-overlay-dialog,
1916
2195
  justify-content: center;
1917
2196
  width: 16px;
1918
2197
  height: 16px;
1919
- /* 穿透 el-icon 组件样式 */
1920
2198
  }
1921
2199
  .pro-layout__tag-icon .el-icon,
1922
2200
  .pro-layout__tag-icon svg {
@@ -1925,7 +2203,6 @@ body .el-overlay-dialog,
1925
2203
  }
1926
2204
  .pro-layout__tag-icon:hover {
1927
2205
  color: var(--el-text-color-regular, #606266) !important;
1928
- background-color: var(--el-fill-color-dark, #e4e7ed) !important;
1929
2206
  }
1930
2207
  .pro-layout__tag-icon:hover .el-icon,
1931
2208
  .pro-layout__tag-icon:hover svg {
@@ -1936,7 +2213,7 @@ body .el-overlay-dialog,
1936
2213
  width: 100%;
1937
2214
  padding: 0 !important;
1938
2215
  margin: 0 !important;
1939
- background: radial-gradient(circle at top left, #eef4ff 0%, #f7f9ff 45%, #fbfcff 100%) !important;
2216
+ background: var(--pro-layout-main-bg) !important;
1940
2217
  box-sizing: border-box;
1941
2218
  display: flex;
1942
2219
  flex-direction: column;