ソースを参照

:art: cleaning up responsive nav

tags/0.9.0
j 5年前
コミット
d175fa9173
2個のファイルの変更115行の追加67行の削除
  1. 1
    3
      vue-theme/src/components/footer.vue
  2. 114
    64
      vue-theme/src/components/navigation/navigation.vue

+ 1
- 3
vue-theme/src/components/footer.vue ファイルの表示

@@ -1,5 +1,5 @@
1 1
 <template lang="pug">
2
-.footer-wrapper.t-up.t-sans.b-radius
2
+.footer-wrapper.t-up.t-sans
3 3
     footer.main
4 4
         //- address contact
5 5
         ul.f-col.start
@@ -176,6 +176,4 @@
176 176
     .footer-wrapper footer.main 
177 177
         > ul
178 178
             background-color: teal
179
-
180
-
181 179
 </style>

+ 114
- 64
vue-theme/src/components/navigation/navigation.vue ファイルの表示

@@ -1,47 +1,56 @@
1 1
 // Replace with calls to menu system
2 2
 <template lang="pug">
3 3
 nav.main
4
-    router-link(to="/")
5
-        h1.t-serif.t-up
6
-            img(src="../../star.svg")
7
-            span &nbsp;logotype
8
-    
9
-    label(for="toggle-mobile-menu" aria-label="Menu") &#9776;
10
-    input(id="toggle-mobile-menu" type="checkbox").hide
11 4
 
12
-    ul
13
-        li
14
-            router-link(:to="`/`")
15
-                h5 home
16
-        li
17
-            router-link(:to="`/episodes`")
18
-                h5 pbs series
19
-        li
20
-            router-link(:to="`/artists`")
21
-                h5 artists
22
-        li
23
-            router-link(:to="`/exhibitions`")
24
-                h5 exhibitions
25
-        li
26
-            router-link(:to="`/events`")
27
-                h5 events
28
-        li
29
-            router-link(:to="`/center`")
30
-                h5 center
31
-        li
32
-            router-link(:to="`/education`")
33
-                h5 education
34
-        li
35
-            router-link(:to="`/posts`")
36
-                h5 news
37
-        li
38
-            router-link(:to="`/support`")
39
-                h5 support
40
-        li
41
-            router-link(:to="`/search`")
42
-                h5 search
5
+    .mobile-menu
6
+        .f-row.start
7
+            router-link(to="/")
8
+                img(src="../../star.svg")
9
+            router-link(to="/")
10
+                h1.t-serif.t-up &nbsp;logotype
11
+        
12
+        label(for="toggle-mobile-menu" aria-label="Menu").drop-down &#9776;
13
+        input(id="toggle-mobile-menu" type="checkbox").hide
14
+
15
+        ul.drop-down
16
+            li(v-for="item in menuItems")
17
+                router-link(:to="`/${item}`")
18
+                    h5.t-up {{ item }}
19
+
20
+    .menu
21
+        ul.f-row
22
+            li.f-row.start
23
+                router-link(to="/")
24
+                    img(src="../../star.svg")
25
+                router-link(to="/")
26
+                    h1.t-serif.t-up &nbsp;logotype
27
+            li.f-grow
28
+            li(v-for="item in menuItems")
29
+                router-link(:to="`/${item}`")
30
+                    h5.t-up {{ item }}
43 31
 </template>
44 32
 
33
+<script>
34
+export default {
35
+    setup() {
36
+        const menuItems = [
37
+            'episodes',
38
+            'artists',
39
+            'exhibitions',
40
+            'events',
41
+            'center',
42
+            'education',
43
+            'news',
44
+            'support',
45
+            'search',
46
+        ]
47
+        return { 
48
+            menuItems
49
+        }
50
+    }
51
+}
52
+</script>
53
+
45 54
 <style lang="postcss">
46 55
 @import '../../sss/variables.sss'
47 56
 @import '../../sss/theme.sss'
@@ -52,33 +61,74 @@ nav.main
52 61
     background-color: lightblue
53 62
     word-wrap: break-word
54 63
     z-index: 10000
55
-    h1
56
-        font-size: 1.5em
57
-        color: $cia_red
58
-    a > h1
64
+    
65
+    h5
59 66
         margin: 0
67
+    
68
+    .menu, .mobile-menu
69
+        padding: $ms-0 0
70
+        a
71
+            margin: 0
72
+            h1
73
+                font-size: $ms-1
74
+                color: $cia_red
75
+                margin: 0
76
+            img
77
+                width: $ms-3
78
+                height: $ms-3
79
+                padding: 0
80
+    
81
+    .menu
82
+        display: none
83
+        > ul
84
+            width: 100%
85
+            li
86
+                padding: 0 $ms--1
87
+    
88
+    .mobile-menu
60 89
         img
61
-            width: 25px
62
-            height: 25px
63
-            padding: 0
64
-    label
65
-        position: absolute
66
-        right: 3vw
67
-        top: 10px
68
-    input
69
-        &.hide
90
+            margin: 0 $ms--5 0 $ms-0
91
+        label
92
+            position: absolute
93
+            right: 0
94
+            top: 0
95
+            padding: $ms-1
96
+            &:hover
97
+                color: $cia_grey
98
+                cursor: pointer
99
+                transition: $transition
100
+        input
101
+            &.hide
102
+                display: none
103
+                cursor: pointer
104
+                &:checked + ul
105
+                    display: block 
106
+                    clear: both 
107
+                    position: fixed
108
+        ul
109
+            width: 100%
110
+            background-color: $primary-dark
70 111
             display: none
71
-            cursor: pointer
72
-            &:checked + ul
73
-                display: block 
74
-                clear: both 
75
-                position: fixed
76
-    ul
77
-        width: 100%
78
-        background-color: rgba(0,255,255,0.5)
79
-        display: none
80
-        li
81
-            h5
82
-                font-size: 1.0em
83
-                color: $cia_black
112
+            padding: $ms--1 0
113
+            li  
114
+                color: $primary-light
115
+                padding: $ms--3 $ms--1
116
+                &:hover
117
+                    color: $primary-dark
118
+                    background-color: $primary-light
119
+                h5
120
+                    font-size: $ms-1
121
+                    color: $cia_black
122
+
123
+
124
+@media (--medium-viewport)
125
+    nav.main 
126
+        .menu
127
+            display: flex
128
+            justify-content: center
129
+        .mobile-menu
130
+            display: none
131
+@media (--extra-large-viewport)
132
+    nav.main .menu > ul
133
+        max-width: $max-width
84 134
 </style>

読み込み中…
キャンセル
保存