fix: nav menu with group not styled correctly

pull/688/head
Kia Ishii 3 years ago
parent 3a07048533
commit 96f84bf690

@ -18,16 +18,27 @@ defineProps<{
</template> </template>
<style scoped> <style scoped>
.VPMenuGroup {
margin: 12px -12px 0;
border-top: 1px solid var(--vp-c-divider-light);
padding: 12px 12px 0;
}
.VPMenuGroup:first-child {
margin-top: 0;
border-top: 0;
padding-top: 0;
}
.VPMenuGroup + .VPMenuGroup { .VPMenuGroup + .VPMenuGroup {
margin-top: 8px; margin-top: 12px;
border-top: 1px solid var(--vp-c-divider-light); border-top: 1px solid var(--vp-c-divider-light);
padding-top: 8px;
} }
.title { .title {
padding: 0 16px; padding: 0 12px;
line-height: 28px; line-height: 32px;
font-size: 13px; font-size: 14px;
font-weight: 600; font-weight: 600;
color: var(--vp-c-text-2); color: var(--vp-c-text-2);
transition: color 0.25s; transition: color 0.25s;

@ -11,17 +11,24 @@ const { page } = useData()
</script> </script>
<template> <template>
<VPLink <div class="VPMenuLink">
class="VPMenuLink" <VPLink
:class="{ active: isActive(page.relativePath, item.activeMatch || item.link) }" :class="{ active: isActive(page.relativePath, item.activeMatch || item.link) }"
:href="item.link" :href="item.link"
> >
{{ item.text }} {{ item.text }}
</VPLink> </VPLink>
</div>
</template> </template>
<style scoped> <style scoped>
.VPMenuLink { .VPMenuGroup + .VPMenuLink {
margin: 12px -12px 0;
border-top: 1px solid var(--vp-c-divider-light);
padding: 12px 12px 0;
}
.link {
display: block; display: block;
border-radius: 6px; border-radius: 6px;
padding: 0 12px; padding: 0 12px;
@ -33,16 +40,16 @@ const { page } = useData()
transition: background-color 0.25s, color 0.25s; transition: background-color 0.25s, color 0.25s;
} }
.VPMenuLink:hover { .link:hover {
color: var(--vp-c-brand); color: var(--vp-c-brand);
background-color: var(--vp-c-bg-mute); background-color: var(--vp-c-bg-mute);
} }
.dark .VPMenuLink:hover { .dark .link:hover {
background-color: var(--vp-c-bg-soft); background-color: var(--vp-c-bg-soft);
} }
.VPMenuLink.active { .link.active {
color: var(--vp-c-brand); color: var(--vp-c-brand);
} }
</style> </style>

Loading…
Cancel
Save