230 lines
4.9 KiB
Vue
230 lines
4.9 KiB
Vue
|
<!-- Please remove this file from your project -->
|
||
|
<template>
|
||
|
<nav class="nav">
|
||
|
<div class="imgBox">
|
||
|
<!-- 测试查询 -->
|
||
|
<!-- <img
|
||
|
class="land"
|
||
|
src="../assets/mask/test_req.png"
|
||
|
alt=""
|
||
|
@click="showLandBox"
|
||
|
/> -->
|
||
|
<img class="logo" src="../assets/partOne/logo.png" alt="" />
|
||
|
</div>
|
||
|
<ul class="nav-list">
|
||
|
<li
|
||
|
v-for="(item, index) in navlist"
|
||
|
:key="item.class"
|
||
|
class="nav-item"
|
||
|
:class="index == activeIndex ? 'active' : ''"
|
||
|
>
|
||
|
<div v-if="activeIndex == index" class="active-line"></div>
|
||
|
<!-- <img
|
||
|
:class="'nav-' + item.class"
|
||
|
:src="item.src"
|
||
|
alt=""
|
||
|
@click="toViewSwiper(index)"
|
||
|
/> -->
|
||
|
<div
|
||
|
class="nav_img"
|
||
|
:class="'nav-' + item.class"
|
||
|
@click="toViewSwiper(index)"
|
||
|
></div>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</nav>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
export default {
|
||
|
props: {
|
||
|
activeIndex: {
|
||
|
type: Number,
|
||
|
default: 0,
|
||
|
},
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
navlist: [
|
||
|
{
|
||
|
class: "home",
|
||
|
src: require("../assets/partOne/home.png"),
|
||
|
},
|
||
|
{
|
||
|
class: "trailer",
|
||
|
src: require("../assets/partOne/news.png"),
|
||
|
},
|
||
|
{
|
||
|
class: "world",
|
||
|
src: require("../assets/partOne/world.png"),
|
||
|
},
|
||
|
{
|
||
|
class: "Characters",
|
||
|
src: require("../assets/partOne/Characters.png"),
|
||
|
},
|
||
|
],
|
||
|
};
|
||
|
},
|
||
|
methods: {
|
||
|
toViewSwiper(index) {
|
||
|
this.$emit("toViewSwiper", index);
|
||
|
},
|
||
|
showLandBox() {
|
||
|
this.$emit("showLandBox");
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
.nav {
|
||
|
width: 100vw;
|
||
|
height: 86px;
|
||
|
background: url("https://cdn.star-linear.com/resource/dream/top_bg.png") left
|
||
|
no-repeat;
|
||
|
background-size: cover;
|
||
|
display: flex;
|
||
|
justify-content: space-between;
|
||
|
overflow: hidden;
|
||
|
position: fixed;
|
||
|
left: 0;
|
||
|
top: 0;
|
||
|
z-index: 12;
|
||
|
&::after {
|
||
|
content: "";
|
||
|
position: absolute;
|
||
|
bottom: 0;
|
||
|
left: 0;
|
||
|
width: 100%;
|
||
|
height: 61px;
|
||
|
transform: translateY(49%);
|
||
|
background: url("../assets/partOne/top_line.png") left no-repeat;
|
||
|
background-size: contain;
|
||
|
}
|
||
|
.imgBox {
|
||
|
display: flex;
|
||
|
justify-content: space-between;
|
||
|
margin-left: 60px;
|
||
|
}
|
||
|
.land {
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
.logo {
|
||
|
width: 223px;
|
||
|
height: 84px;
|
||
|
margin-left: 60px;
|
||
|
}
|
||
|
|
||
|
.nav-list {
|
||
|
display: flex;
|
||
|
justify-content: center;
|
||
|
align-items: center;
|
||
|
list-style: none;
|
||
|
margin-top: 35px;
|
||
|
margin-right: 130px;
|
||
|
z-index: 2;
|
||
|
.nav-item {
|
||
|
margin-left: 88px;
|
||
|
position: relative;
|
||
|
&:first-child {
|
||
|
&::after {
|
||
|
width: 0;
|
||
|
}
|
||
|
}
|
||
|
&.active {
|
||
|
.active-line {
|
||
|
position: absolute;
|
||
|
bottom: -3px;
|
||
|
left: 37px;
|
||
|
width: 194px;
|
||
|
height: 142px;
|
||
|
background: url("../assets/partOne/light_bg.png") left no-repeat;
|
||
|
background-size: contain;
|
||
|
cursor: pointer;
|
||
|
opacity: 0.55;
|
||
|
}
|
||
|
&::before {
|
||
|
content: "";
|
||
|
position: absolute;
|
||
|
top: -15px;
|
||
|
left: 0;
|
||
|
width: 92px;
|
||
|
height: 88px;
|
||
|
background: url("../assets/partOne/light.png") left no-repeat;
|
||
|
background-size: contain;
|
||
|
animation: shake 0.8s ease infinite alternate;
|
||
|
transform: translateX(-10%);
|
||
|
z-index: 12;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@keyframes shake {
|
||
|
from {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
to {
|
||
|
opacity: 0.5;
|
||
|
}
|
||
|
}
|
||
|
&::after {
|
||
|
content: "";
|
||
|
position: absolute;
|
||
|
top: 35%;
|
||
|
left: 0;
|
||
|
transform: translate(-83%, -50%);
|
||
|
width: 134px;
|
||
|
height: 50px;
|
||
|
background: url("../assets/partOne/line.png") left no-repeat;
|
||
|
background-size: cover;
|
||
|
}
|
||
|
}
|
||
|
img {
|
||
|
cursor: pointer;
|
||
|
height: 79px;
|
||
|
z-index: 13;
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
.nav_img {
|
||
|
background: url("../assets/partOne/nav_img.png");
|
||
|
background-size: auto 100%;
|
||
|
background-repeat: no-repeat;
|
||
|
cursor: pointer;
|
||
|
height: 84px;
|
||
|
}
|
||
|
.nav-home {
|
||
|
// height: 216px;
|
||
|
// height: 84px;
|
||
|
width: 156px;
|
||
|
background-position: 11px 0;
|
||
|
}
|
||
|
.nav-world {
|
||
|
// height: 216px;
|
||
|
width: 207px;
|
||
|
background-position: -115px 0;
|
||
|
}
|
||
|
.nav-Characters {
|
||
|
// height: 220px;
|
||
|
// width: 532px;
|
||
|
width: 200px;
|
||
|
background-position: -305px 0;
|
||
|
}
|
||
|
.nav-trailer {
|
||
|
// height: 218px;
|
||
|
// width: 618px;
|
||
|
width: 150px;
|
||
|
// height: 55px;
|
||
|
// background: url("../assets/partOne/news.png") center no-repeat;
|
||
|
// background-size: contain;
|
||
|
|
||
|
background-position: -507px 12px;
|
||
|
}
|
||
|
// .nav-home {
|
||
|
// background-size: contain;
|
||
|
// background-repeat: no-repeat;
|
||
|
// height: 79px;
|
||
|
// }
|
||
|
}
|
||
|
}
|
||
|
</style>
|