Skip to content

Commit df05099

Browse files
宽屏顶栏二级及以下下拉优先向左展开
桌面导航保持一级向下展开,嵌套菜单使用 left 方向;并避免子菜单被裁切。 Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent e5b0829 commit df05099

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

src/components/Yatcc/YatccNavMenu.astro

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,34 @@ const lang = getLangFromUrl(Astro.url);
1313
const t = tOfUrl(Astro.url);
1414
const translatePath = useTranslatedPath(lang);
1515
const dropdownToggle = layout === "stacked" ? "click" : "hover";
16-
const dropdownDirection = layout === "stacked" ? "auto" : "down";
16+
const topDropdownDirection = layout === "stacked" ? "auto" : "down";
17+
const nestedDropdownDirection = layout === "stacked" ? "auto" : "left";
1718
---
1819

1920
<div class:list={["yatcc-nav-menu", layout === "stacked" && "yatcc-nav-menu--stacked"]}>
2021
<Link href="https://ol.yatcc.arcsysu.cn/">&#128640; Get Started</Link>
21-
<NavDropdown toggle={dropdownToggle} direction={dropdownDirection}>
22+
<NavDropdown toggle={dropdownToggle} direction={topDropdownDirection}>
2223
<div slot="title">{t("nav.implementation")}</div>
2324
<Link href="https://ol.yatcc.arcsysu.cn">OL Lab</Link>
2425
<Link href="https://portal.aihub.arcsysu.cn">AI Hub</Link>
2526
<Link href="#">DT Fab</Link>
2627
</NavDropdown>
27-
<NavDropdown toggle={dropdownToggle} direction={dropdownDirection}>
28+
<NavDropdown toggle={dropdownToggle} direction={topDropdownDirection}>
2829
<div slot="title">{t("nav.team")}</div>
2930
<Link href="https://arcsysu.tech/people">arcsysu</Link>
3031
<Link href="https://docs.yatcc-ai.com/contributors/">{t("nav.contributors")}</Link>
3132
</NavDropdown>
32-
<NavDropdown toggle={dropdownToggle} direction={dropdownDirection}>
33+
<NavDropdown toggle={dropdownToggle} direction={topDropdownDirection}>
3334
<div slot="title">{t("nav.cases")}</div>
3435
<NavDropdown
3536
href={translatePath("/teaching-practice")}
36-
direction={dropdownDirection}
37+
direction={nestedDropdownDirection}
3738
toggle={dropdownToggle}
3839
>
3940
<div slot="title">{t("nav.teaching")}</div>
40-
<NavDropdown direction={dropdownDirection} toggle={dropdownToggle}>
41+
<NavDropdown direction={nestedDropdownDirection} toggle={dropdownToggle}>
4142
<div slot="title">{t("nav.compilerTeaching")}</div>
42-
<NavDropdown direction={dropdownDirection} toggle={dropdownToggle}>
43+
<NavDropdown direction={nestedDropdownDirection} toggle={dropdownToggle}>
4344
<div slot="title">{t("nav.courseSites")}</div>
4445
<Link href="/teach/s2026.html">2026</Link>
4546
<Link href="/teach/s2025.html">2025</Link>
@@ -68,6 +69,14 @@ const dropdownDirection = layout === "stacked" ? "auto" : "down";
6869
flex-wrap: nowrap;
6970
}
7071

72+
.yatcc-nav-menu:not(.yatcc-nav-menu--stacked) :global(.popup-card) {
73+
overflow: visible;
74+
}
75+
76+
.yatcc-nav-menu:not(.yatcc-nav-menu--stacked) :global(.dropdown-left > .popup-wrapper) {
77+
z-index: 110;
78+
}
79+
7180
.yatcc-nav-menu--stacked {
7281
flex-direction: column;
7382
align-items: stretch;

0 commit comments

Comments
 (0)