|
@@ -11,8 +11,8 @@
|
|
<RouterLink to="/introduction">文化概况</RouterLink>
|
|
<RouterLink to="/introduction">文化概况</RouterLink>
|
|
<RouterLink to="/inheritor">保护传承</RouterLink>
|
|
<RouterLink to="/inheritor">保护传承</RouterLink>
|
|
</div>
|
|
</div>
|
|
- <div class="group">
|
|
|
|
- <div class="headerlogos">
|
|
|
|
|
|
+ <div class="group center">
|
|
|
|
+ <div class="headerlogos" @click="goIndex">
|
|
<img src="@/assets/images/LogoIcon.png" />
|
|
<img src="@/assets/images/LogoIcon.png" />
|
|
<div>
|
|
<div>
|
|
<p class="large">闽南文化生态保护区<span>(厦门市)</span></p>
|
|
<p class="large">闽南文化生态保护区<span>(厦门市)</span></p>
|
|
@@ -26,19 +26,46 @@
|
|
<RouterLink to="/fusion">文旅融合</RouterLink>
|
|
<RouterLink to="/fusion">文旅融合</RouterLink>
|
|
<RouterLink to="/about">关于我们</RouterLink>
|
|
<RouterLink to="/about">关于我们</RouterLink>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <!-- 移动端菜单 -->
|
|
|
|
+ <div class="mobile-menu">
|
|
|
|
+ <IconMenu @click="mobileMenuShow = !mobileMenuShow" />
|
|
|
|
+ <div
|
|
|
|
+ :class="[
|
|
|
|
+ 'mobile-menu-popover',
|
|
|
|
+ mobileMenuShow ? 'visible' : '',
|
|
|
|
+ ]"
|
|
|
|
+ @click="mobileMenuShow=false"
|
|
|
|
+ >
|
|
|
|
+ <RouterLink to="/">首页</RouterLink>
|
|
|
|
+ <RouterLink to="/news">资讯动态</RouterLink>
|
|
|
|
+ <RouterLink to="/introduction">文化概况</RouterLink>
|
|
|
|
+ <RouterLink to="/inheritor">保护传承</RouterLink>
|
|
|
|
+ <RouterLink to="/communicate">传播交流</RouterLink>
|
|
|
|
+ <RouterLink to="/research">理论研究</RouterLink>
|
|
|
|
+ <RouterLink to="/fusion">文旅融合</RouterLink>
|
|
|
|
+ <RouterLink to="/about">关于我们</RouterLink>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</nav>
|
|
</nav>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
|
|
import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
|
|
-import { useRoute } from 'vue-router';
|
|
|
|
|
|
+import { useRoute, useRouter } from 'vue-router';
|
|
|
|
+import IconMenu from './icons/IconMenu.vue';
|
|
|
|
|
|
|
|
+const router = useRouter();
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
const scrollValue = ref(0);
|
|
const scrollValue = ref(0);
|
|
|
|
+const mobileMenuShow = ref(false);
|
|
const headerBlur = computed(() => {
|
|
const headerBlur = computed(() => {
|
|
return route.name != 'home';
|
|
return route.name != 'home';
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+function goIndex() {
|
|
|
|
+ router.push({ name: 'home' });
|
|
|
|
+}
|
|
function onScroll() {
|
|
function onScroll() {
|
|
scrollValue.value = window.scrollY;
|
|
scrollValue.value = window.scrollY;
|
|
}
|
|
}
|
|
@@ -81,28 +108,30 @@ nav {
|
|
background-color: transparent;
|
|
background-color: transparent;
|
|
backdrop-filter: blur(10px);
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
}
|
|
|
|
+ a {
|
|
|
|
+ color: rgba(#fff, 0.8);
|
|
|
|
+ text-align: center;
|
|
|
|
+ text-decoration: none;
|
|
|
|
+
|
|
|
|
+ &:focus {
|
|
|
|
+ outline: none;
|
|
|
|
+ }
|
|
|
|
+ &.router-link-active, &.router-link-exact-active, &:hover {
|
|
|
|
+ color: #fff;
|
|
|
|
+ }
|
|
|
|
+ &.router-link-exact-active {
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
.group {
|
|
.group {
|
|
display: flex;
|
|
display: flex;
|
|
gap: 1rem;
|
|
gap: 1rem;
|
|
|
|
|
|
a {
|
|
a {
|
|
- color: rgba(#fff, 0.8);
|
|
|
|
width: 100px;
|
|
width: 100px;
|
|
height: $nav-height;
|
|
height: $nav-height;
|
|
line-height: $nav-height;
|
|
line-height: $nav-height;
|
|
- text-align: center;
|
|
|
|
- text-decoration: none;
|
|
|
|
-
|
|
|
|
- &:focus {
|
|
|
|
- outline: none;
|
|
|
|
- }
|
|
|
|
- &.router-link-active, &.router-link-exact-active, &:hover {
|
|
|
|
- color: #fff;
|
|
|
|
- }
|
|
|
|
- &.router-link-exact-active {
|
|
|
|
- font-weight: bold;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -140,6 +169,32 @@ nav {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .mobile-menu {
|
|
|
|
+ display: none;
|
|
|
|
+ }
|
|
|
|
+ .mobile-menu-popover {
|
|
|
|
+ display: none;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: $nav-height;
|
|
|
|
+ right: 0;
|
|
|
|
+ left: 0;
|
|
|
|
+ background-color: $box-color;
|
|
|
|
+ border-bottom: $border-grey-color;
|
|
|
|
+ color: $text-color;
|
|
|
|
+
|
|
|
|
+ a {
|
|
|
|
+ line-height: 40px;
|
|
|
|
+ height: 40px;
|
|
|
|
+ width: 100%;
|
|
|
|
+ color: $text-color;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.visible {
|
|
|
|
+ display: flex;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@media (max-width: 1260px) {
|
|
@media (max-width: 1260px) {
|
|
@@ -160,4 +215,17 @@ nav {
|
|
@media (max-width: 1024px) {
|
|
@media (max-width: 1024px) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+@media (max-width: 768px) {
|
|
|
|
+ nav {
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ padding: 0 30px;
|
|
|
|
+
|
|
|
|
+ .group:not(.center) {
|
|
|
|
+ display: none;
|
|
|
|
+ }
|
|
|
|
+ .mobile-menu {
|
|
|
|
+ display: block;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|