nankai-cms-website-gov/.kit/translated/components/layout/Categories.vue
2025-03-13 09:52:18 +08:00

138 lines
3.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="categories">
<div class="content-wrap">
<el-menu
:popper-offset="0"
popper-class="categories-popper"
mode="horizontal"
:show-timeout="0"
:hide-timeout="0"
>
<CategoryChildren
v-for="category in categories"
:key="category.uid"
:index="category.uid"
:category="category"
/>
</el-menu>
</div>
</div>
</template>
<script>
import CategoryChildren from '@/components/layout/CategoryChildren'
export default {
name: 'Categories',
components: { CategoryChildren },
props: {
// 栏目树
categories: {
required: true
}
}
}
</script>
<style scoped lang="scss">
.categories {
background-color: var(--primary-color-dark);
:deep(.el-menu) {
// 选中的栏目Nuxt会自动选中并增加该class
.router-link-active {
background-color: var(--color-white);
color: var(--primary-color-dark) !important;
border-radius: 8px;
line-height: 38px;
font-weight: bold;
transition: all .3s;
&:hover {
border-radius: 0;
}
}
// 栏目标题
a,label {
display: flex;
align-items: center;
width: 100%;
color: var(--color-white);
cursor: pointer;
padding: 0 35px;
.category-icon {
margin-right: 5px;
}
.image-icon {
width: 20px !important;
}
}
// 隐藏下拉箭头
.el-sub-menu__icon-arrow {
display: none;
}
// 根栏目
.el-menu-item,.el-sub-menu {
padding: 10px 0;
box-sizing: border-box;
text-align: center;
border-bottom: 0 !important;
&.is-active {
color: var(--primary-color-dark) !important;
}
}
// 存在子栏目的栏目标题
.el-sub-menu__title {
padding: 0;
border-bottom: 0;
}
}
}
</style>
<style lang="scss">
.categories-popper {
border: 0 !important;
.el-menu {
background-color: #fff !important;
// 子栏目标题
a,label {
display: block;
width: 100%;
height: 100%;
text-align: left;
color: var(--font-color);
&:hover {
color: var(--color-white);
}
}
.el-menu-item {
min-width: 200px;
background-color: #fff;
font-size: var(--font-size-middle);
text-align: center;
transition: none;
&:hover {
background-color: var(--primary-color-light);
color: var(--color-white);
}
}
// 带子栏目的标题
.el-sub-menu__title {
background-color: var(--color-white);
font-size: var(--font-size-middle);
// 箭头
.el-sub-menu__icon-arrow {
color: var(--font-color);
}
&:hover {
background-color: var(--primary-color-light);
a {
color: var(--color-white) !important;
}
.el-sub-menu__icon-arrow {
color: var(--color-white) !important;
}
}
}
}
}
</style>