Skip to content

Commit 286f785

Browse files
committed
Make header fixed to top
1 parent cea1739 commit 286f785

File tree

2 files changed

+53
-10
lines changed

2 files changed

+53
-10
lines changed

src/components/layout/Header.vue

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,64 @@
11
<template>
2-
<header class="header">
3-
<Logo />
4-
<Nav />
5-
</header>
2+
<fixed-header :threshold="100">
3+
<header class="header">
4+
<div class="header__content" >
5+
<Logo />
6+
<Nav />
7+
</div>
8+
</header>
9+
</fixed-header>
610
</template>
711

812
<script>
913
import Logo from '@/components/layout/Header/Logo'
1014
import Nav from '@/components/layout/Header/Nav'
15+
import FixedHeader from 'vue-fixed-header'
1116
1217
export default {
1318
name: 'Header',
1419
components: {
1520
Logo,
16-
Nav
21+
Nav,
22+
FixedHeader
1723
}
1824
}
1925
</script>
2026

2127
<style lang="scss" scoped>
2228
.header {
23-
display: flex;
24-
justify-content: space-between;
25-
align-items: center;
26-
padding: 40px 0;
29+
padding: 60px 0;
30+
overflow: hidden;
31+
&.vue-fixed-header--isFixed {
32+
position: fixed;
33+
left: 0;
34+
top: 0;
35+
width: 100%;
36+
background: $black;
37+
z-index: 100;
38+
padding: 20px 0;
39+
.header__content {
40+
padding-right: 48px;
41+
padding-left: 48px;
42+
max-width: 960px;
43+
width: calc(100% - 96px);
44+
@include sm {
45+
padding: 0px 24px;
46+
}
47+
@include xs {
48+
width: calc(100% - 48px);
49+
}
50+
}
51+
}
2752
@include sm {
28-
padding: 16px 0;
53+
padding: 32px 0;
54+
}
55+
&__content {
56+
padding-top: 0px;
57+
padding-bottom: 0px;
58+
display: flex;
59+
justify-content: space-between;
60+
align-items: center;
61+
margin: 0 auto;
2962
}
3063
}
3164
</style>

src/views/Home/sections/Index.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,14 @@ export default {
126126
}
127127
}
128128
}
129+
.index__header + .index__center-wrapper {
130+
padding-top: 330px;
131+
@include sm {
132+
padding-top: 110px;
133+
}
134+
}
135+
.index__header:not(.vue-fixed-header--isFixed)
136+
+ .index__center-wrapper {
137+
padding-top: 0;
138+
}
129139
</style>

0 commit comments

Comments
 (0)