|
|
@@ -42,25 +42,39 @@
|
|
|
</ul>
|
|
|
</nav>
|
|
|
|
|
|
- <!-- 移动端导航 -->
|
|
|
- <div class="header-mobile visible-xs">
|
|
|
- <div class="header-mobile-logo">
|
|
|
- <img src="@/assets/img/logo_black.svg" alt="Logo">
|
|
|
- </div>
|
|
|
- <div class="header-mobile-menu" @click="toggleMenu">
|
|
|
- <span>{{ menuName }}</span>
|
|
|
- <i :class="menuClass"></i>
|
|
|
+ <!-- 手机导航 -->
|
|
|
+ <div class="header-nav-m container-fuild visible-xs">
|
|
|
+ <div class="header-nav-m-logo">
|
|
|
+ <img class="center-block" src="@/assets/img/logo_black.svg" alt="logo">
|
|
|
</div>
|
|
|
- <ul class="mobile-nav-menu collapse" id="mobileMenu">
|
|
|
- <li
|
|
|
- v-for="(item, index) in navList"
|
|
|
- :key="index"
|
|
|
- :class="{ active: index === navIndex }"
|
|
|
- @click="navClick(index, item.name)"
|
|
|
+ <!-- 导航栏 -->
|
|
|
+ <div class="header-nav-m-menu text-center">
|
|
|
+ {{ menuName }}
|
|
|
+ <div
|
|
|
+ class="header-nav-m-menu-wrapper"
|
|
|
+ data-toggle="collapse"
|
|
|
+ data-target="#menu"
|
|
|
+ @click="menuClick"
|
|
|
>
|
|
|
- <router-link :to="item.path">{{ item.name }}</router-link>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
+ <span :class="menuClass"></span>
|
|
|
+ </div>
|
|
|
+ <!-- 导航内容 -->
|
|
|
+ <ul id="menu" class="header-nav-m-wrapper collapse">
|
|
|
+ <li
|
|
|
+ v-for="(item,index) in navList"
|
|
|
+ :key="index"
|
|
|
+ :class="index==navIndex?'active':''"
|
|
|
+ @click="navClick(index,item.name)"
|
|
|
+ data-toggle="collapse"
|
|
|
+ data-target="#menu"
|
|
|
+ >
|
|
|
+ <router-link :to="item.path">
|
|
|
+ {{ item.name }}
|
|
|
+ <i class="underline"></i>
|
|
|
+ </router-link>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</header>
|
|
|
</template>
|
|
|
@@ -97,10 +111,12 @@ export default {
|
|
|
sessionStorage.setItem('navIndex', index);
|
|
|
this.menuName = name;
|
|
|
},
|
|
|
- toggleMenu() {
|
|
|
- this.menuClass = this.menuClass.includes('menu-down')
|
|
|
- ? "glyphicon glyphicon-menu-up"
|
|
|
- : "glyphicon glyphicon-menu-down";
|
|
|
+ menuClick() {
|
|
|
+ if (this.menuClass === "glyphicon glyphicon-menu-down") {
|
|
|
+ this.menuClass = "glyphicon glyphicon-menu-up";
|
|
|
+ } else {
|
|
|
+ this.menuClass = "glyphicon glyphicon-menu-down";
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
@@ -281,123 +297,70 @@ export default {
|
|
|
color: var(--nav-hover);
|
|
|
}
|
|
|
|
|
|
-/* ===== 移动端导航 ===== */
|
|
|
-.header-mobile {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- height: 70px;
|
|
|
- padding: 0 20px;
|
|
|
- background: var(--header-bg);
|
|
|
-}
|
|
|
-
|
|
|
-.header-mobile-logo {
|
|
|
- width: 120px;
|
|
|
- height: 40px;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-.header-mobile-logo img {
|
|
|
- max-width: 100%;
|
|
|
- max-height: 100%;
|
|
|
- object-fit: contain;
|
|
|
-}
|
|
|
-
|
|
|
-.header-mobile-menu {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- gap: 8px;
|
|
|
- padding: 8px 16px;
|
|
|
- background: #474747;
|
|
|
- color: #fff;
|
|
|
- border-radius: 4px;
|
|
|
- cursor: pointer;
|
|
|
- font-size: 13px;
|
|
|
-}
|
|
|
-
|
|
|
-.header-mobile-menu i {
|
|
|
- font-size: 12px;
|
|
|
-}
|
|
|
-
|
|
|
-.mobile-nav-menu {
|
|
|
- position: absolute;
|
|
|
- top: 70px;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- background: #474747;
|
|
|
- list-style: none;
|
|
|
- margin: 0;
|
|
|
- padding: 0;
|
|
|
- max-height: 0;
|
|
|
- overflow: hidden;
|
|
|
- transition: max-height 0.3s ease;
|
|
|
-}
|
|
|
-
|
|
|
-.mobile-nav-menu.collapse.in {
|
|
|
- max-height: 300px;
|
|
|
-}
|
|
|
-
|
|
|
-.mobile-nav-menu > li {
|
|
|
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
|
-}
|
|
|
-
|
|
|
-.mobile-nav-menu > li > a {
|
|
|
- display: block;
|
|
|
- padding: 14px 20px;
|
|
|
- color: #fff;
|
|
|
- font-size: 14px;
|
|
|
- text-decoration: none;
|
|
|
- transition: var(--transition);
|
|
|
-}
|
|
|
+/* ===== 移动端导航(保留原始样式) ===== */
|
|
|
+@media screen and (max-width: 997px) {
|
|
|
+ #header .header-nav-m .header-nav-m-logo {
|
|
|
+ height: 80px;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
|
|
|
-.mobile-nav-menu > li > a:hover,
|
|
|
-.mobile-nav-menu > li.active > a {
|
|
|
- background: rgba(30, 115, 190, 0.3);
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
+ #header .header-nav-m .header-nav-m-logo img {
|
|
|
+ width: 180px;
|
|
|
+ height: 60px;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ margin: auto;
|
|
|
+ }
|
|
|
|
|
|
-/* ===== 响应式 ===== */
|
|
|
-@media (max-width: 767px) {
|
|
|
- .header-top .container {
|
|
|
- flex-direction: column;
|
|
|
- gap: 8px;
|
|
|
- padding: 8px 0;
|
|
|
+ #header .header-nav-m .header-nav-m-menu {
|
|
|
+ color: #fff;
|
|
|
+ height: 40px;
|
|
|
+ font-size: 13px;
|
|
|
+ line-height: 40px;
|
|
|
+ background: #474747;
|
|
|
+ position: relative;
|
|
|
}
|
|
|
-
|
|
|
- .header-top-left,
|
|
|
- .header-top-right {
|
|
|
- flex-wrap: wrap;
|
|
|
- justify-content: center;
|
|
|
+
|
|
|
+ #header .header-nav-m .header-nav-m-menu-wrapper {
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ right: 20px;
|
|
|
+ margin-top: -20px;
|
|
|
+ width: 50px;
|
|
|
+ height: 40px;
|
|
|
+ color: #fff;
|
|
|
+ z-index: 999999;
|
|
|
+ font-size: 12px;
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-@media (min-width: 768px) and (max-width: 991px) {
|
|
|
- .header-logo {
|
|
|
- width: 120px;
|
|
|
+ #header .header-nav-m .header-nav-m-wrapper {
|
|
|
+ position: absolute;
|
|
|
+ top: 40px;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ background: #474747;
|
|
|
+ z-index: 9999999;
|
|
|
}
|
|
|
-
|
|
|
- .nav-menu {
|
|
|
- gap: 4px;
|
|
|
+
|
|
|
+ #header .header-nav-m .header-nav-m-wrapper > li {
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ border-bottom: 1px solid #ccc;
|
|
|
}
|
|
|
-
|
|
|
- .nav-menu > li > a {
|
|
|
- padding: 12px 10px;
|
|
|
+
|
|
|
+ #header .header-nav-m .header-nav-m-wrapper > li > a {
|
|
|
+ color: #fff;
|
|
|
font-size: 13px;
|
|
|
+ font-weight: bold;
|
|
|
+ padding: 15px 0;
|
|
|
+ position: relative;
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-@media (min-width: 1200px) {
|
|
|
- .header-logo {
|
|
|
- width: 160px;
|
|
|
- }
|
|
|
-
|
|
|
- .nav-menu {
|
|
|
- gap: 12px;
|
|
|
- }
|
|
|
-
|
|
|
- .nav-menu > li > a {
|
|
|
- padding: 12px 20px;
|
|
|
+ #header .header-nav .header-nav-wrapper > li > a > span {
|
|
|
+ font-size: 10px;
|
|
|
}
|
|
|
}
|
|
|
</style>
|