teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コード等の追加

2019/04/01 11:18

投稿

Web-Fuji
Web-Fuji

スコア29

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,374 @@
1
+ ```HTML
2
+
3
+ <body <?php post_class(); ?>>
4
+ <header class="header">
5
+ <div class="overlay"></div>
6
+ <div class="menu-trigger">
7
+ <span></span>
8
+ <span></span>
9
+ <span></span>
10
+ </div>
11
+ <nav class="nav-menu">
12
+ <ul class="nav-menu-wrapper">
13
+ <li class="nav-list"><a href="#">AAA</a></li>
14
+ <li class="nav-list"><a href="#">BBB</a></li>
15
+ <li class="nav-list"><a href="#">CCC</a></li>
16
+ <li class="nav-list"><a href="#">DDD</a></li>
17
+ <li class="nav-list"><a href="#">EEE</a></li>
18
+ <li class="nav-list"><a href="#">FFF</a></li>
19
+ <li class="nav-list"><a href="#">GGG</a></li>
20
+ <li class="nav-list"><a href="#">HHH</a></li>
21
+ <li class="nav-list"><a href="#">III</a></li>
22
+ <li class="nav-list"><a href="#">JJJ</a></li>
23
+ <li class="nav-list"><a href="#">KKK</a></li>
24
+ <li class="nav-list"><a href="#">LLL</a></li>
25
+ </ul>
26
+ </nav>
27
+ <div class="header-gnav-wrapper">
28
+ </div>
29
+ </header>
30
+ <main class="main">
31
+ </main>
32
+ <footer class="footer" id="footer">
33
+ </footer>
34
+
35
+ <!--for Scroll fix header -->
36
+ <script>
37
+ //scroll fix header
38
+ $(function() {
39
+ "use strict";
40
+ var flag = "view";
41
+
42
+ $(window).on("scroll", function() {
43
+ // scrollTop()が「500」より大きい場合
44
+ //画面トップから、ナビゲーションメニューまでの高さ(ピクセル)を指定すれば、メニュースクロールで
45
+ //消えていくタイミングでヘッダがtop:0の位置に表示されて固定される。
46
+ if ($(this).scrollTop() > 500) {
47
+ if (flag === "view") {
48
+ $(".header-gnav-wrapper").stop().css({ opacity: '1.0' }).animate({
49
+ //”▲.fix-header”の部分は固定ヘッダとして表示させるブロックのID名もしくはクラス名に
50
+ top: 0
51
+ }, 500);
52
+ //上にあがり切ったら透過度を0%にして背景が生きるように
53
+     //”▲.fix-header”の部分は固定ヘッダとして表示させるブロックのID名もしくはクラス名に
54
+ flag = "hide";
55
+ }
56
+ } else {
57
+ if (flag === "hide") {
58
+ $(".header-gnav-wrapper").stop().animate({ top: "-50px", opacity: 0 }, 500);
59
+ flag = "view";
60
+ }
61
+ }
62
+ });
63
+ });
64
+ $(function() {
65
+ "use strict";
66
+ var flag = "view";
67
+
68
+ $(window).on("scroll", function() {
69
+ // scrollTop()が「550」より大きい場合
70
+ //画面トップから、ナビゲーションメニューまでの高さ(ピクセル)を指定すれば、メニュースクロールで
71
+ //消えていくタイミングでヘッダがtop70の位置に表示されて固定される。
72
+ if ($(this).scrollTop() > 550) {
73
+ if (flag === "view") {
74
+ $(".menu-trigger").stop().css({ opacity: '1.0' }).animate({
75
+ //”▲.fix-header”の部分は固定ヘッダとして表示させるブロックのID名もしくはクラス名に
76
+ top: 70
77
+ }, 550);
78
+ //上にあがり切ったら透過度を0%にして背景が生きるように
79
+     //”▲.fix-header”の部分は固定ヘッダとして表示させるブロックのID名もしくはクラス名に
80
+ flag = "hide";
81
+ }
82
+ } else {
83
+ if (flag === "hide") {
84
+ $(".menu-trigger").stop().animate({ top: "50px", opacity: 0 }, 500);
85
+ flag = "view";
86
+ }
87
+ }
88
+ });
89
+ });
90
+ </script>
91
+ <script>
92
+ // smooth scroll
93
+ $(function() {
94
+ $('a[href^="#"]').click(function() {
95
+ var speed = 500;
96
+ var href = $(this).attr("href");
97
+ var target = $(href == "#" || href == "" ? 'html' : href);
98
+ //ヘッダーの高さを取得
99
+ var header = $('header').height();
100
+ //ヘッダーの高さを引く
101
+ var position = target.offset().top - header;
102
+ $("html, body").animate({ scrollTop: position }, speed, "swing");
103
+ return false;
104
+ });
105
+ });
106
+ </script>
107
+ <script>
108
+ // drawer
109
+ $('.menu-trigger').on('click',function(){
110
+ if($(this).hasClass('active')){
111
+ $(this).removeClass('active');
112
+ $('.nav-menu').removeClass('open');
113
+ $('.overlay').removeClass('open');
114
+ } else {
115
+ $(this).addClass('active');
116
+ $('.nav-menu').addClass('open');
117
+ $('.overlay').addClass('open');
118
+ }
119
+ });
120
+
121
+ $('.overlay').on('click',function(){
122
+ if($(this).hasClass('open')){
123
+ $(this).removeClass('open');
124
+ $('.menu-trigger').removeClass('active');
125
+ $('.nav-menu').removeClass('open');
126
+ }
127
+ });
128
+
129
+ $('a[href^="#"]').click(function(){
130
+ var speed = 500;
131
+ var href= $(this).attr("href");
132
+ var target = $(href == "#" || href == "" ? 'html' : href);
133
+ var position = target.offset().top;
134
+ $('html, body').animate({scrollTop:position}, speed, 'swing');
135
+ return false;
136
+ });
137
+
138
+ $('.nav-list a').click(function(){
139
+ if($('.nav-menu').hasClass('open')){
140
+ $('.nav-menu').removeClass('open');
141
+ $('.overlay').removeClass('open');
142
+ $('.menu-trigger').removeClass('active');
143
+ };
144
+ });
145
+
146
+ $(document).ready(function(){
147
+ // $('.access-fadeInDown').hide().fadeIn(5000).animate({'marginTop': '10px'});
148
+ });
149
+
150
+ </script>
151
+ <?php wp_footer(); ?>
152
+ </body>
153
+ </html>
154
+
155
+ ```CSS
156
+
157
+ /*----------ドロワー ナビゲーション----------*/
158
+ .header {
159
+ z-index: 2147483647 !important;
160
+ }
161
+
162
+ .menu-trigger {
163
+ display: none;
164
+ }
165
+ .sp-none {
166
+ display: block;
167
+ /*z-index: 100;*/
168
+ }
169
+ .nav-menu {
170
+ position: relative;
171
+ top: auto;
172
+ right: 250px;
173
+ display: inline-block;
174
+ width: auto;
175
+ height: 60px;
176
+ letter-spacing: 1px;
177
+ opacity: 1;
178
+ }
179
+
180
+ .nav-menu .nav-list {
181
+ display: block;
182
+ width: 100%;
183
+ }
184
+
185
+ .nav-list a {
186
+ display: inline-block;
187
+ width: 100%;
188
+ font-weight: bold;
189
+ padding: 5px 10px;
190
+ height: 60px;
191
+ line-height: 60px;
192
+ }
193
+
194
+ .nav-list a:hover, .nav-list a:active {
195
+ background-color: rgba(192, 192, 192, 0.7);
196
+ }
197
+
198
+ .nav-menu {
199
+ display: none;
200
+ }
201
+
202
+ @media screen and (max-width: 1024px) {
203
+ .overlay {
204
+ visibility: hidden;
205
+ position: fixed;
206
+ top: 0;
207
+ left: 0;
208
+ display: block;
209
+ width: 100%;
210
+ height: 100%;
211
+ -webkit-transition: all .5s ease;
212
+ transition: all .5s ease;
213
+ z-index: 3;
214
+ }
215
+
216
+ .overlay.open {
217
+ width: 100%;
218
+ height: 100%;
219
+ opacity: 1;
220
+ z-index: 300;
221
+ visibility: visible;
222
+ cursor: pointer;
223
+ }
224
+
225
+ .menu-trigger {
226
+ display: block;
227
+ width: 28px;
228
+ height: 28px;
229
+ vertical-align: middle;
230
+ cursor: pointer;
231
+ position: fixed;
232
+ right: 20px;
233
+ z-index: 100;
234
+ transform: translateX(0);
235
+ transition: transform 0.7s;
236
+ opacity: 0;
237
+ }
238
+
239
+ .menu-trigger::after {
240
+ position: absolute;
241
+ content: "";
242
+ /*top: -30px;*/
243
+ right: -20px;
244
+ width: 60px;
245
+ height: 60px;
246
+ background-color: #18448E;
247
+ display: block;
248
+ z-index: -10;
249
+ border-radius: 50%;
250
+ }
251
+
252
+ .menu-trigger.active {
253
+ transform: translateX(-250px);
254
+ }
255
+
256
+ .menu-trigger span {
257
+ display: inline-block;
258
+ box-sizing: border-box;
259
+ position: absolute;
260
+ left: 4px;
261
+ width: 100%;
262
+ height: 4px;
263
+ background-color: #fff;
264
+ border-radius: 2px;
265
+ transition: 0.7s;
266
+ }
267
+
268
+ .menu-trigger.active span {
269
+ background-color: #fff;
270
+ border-radius: 2px;
271
+ }
272
+ .menu-trigger span:nth-of-type(1) {
273
+ top: 20px;
274
+ }
275
+ .menu-trigger.active span:nth-of-type(1) {
276
+ transform: translateY(8px) rotate(-45deg);
277
+ }
278
+ .menu-trigger span:nth-of-type(2) {
279
+ top: 28px;
280
+ }
281
+ .menu-trigger.active span:nth-of-type(2) {
282
+ opacity: 0;
283
+ }
284
+ .menu-trigger span:nth-of-type(3) {
285
+ top: 36px;
286
+ }
287
+ .menu-trigger.active span:nth-of-type(3) {
288
+ transform: translateY(-8px) rotate(45deg);
289
+ }
290
+
291
+ .nav-menu-wrapper {
292
+ z-index: 2147483647 !important;
293
+
294
+ }
295
+
296
+ .nav-menu {
297
+ position: fixed;
298
+ top: 70px;
299
+ right: 0;
300
+ transform: translate(250px);
301
+ transition: all .7s;
302
+ width: 250px;
303
+ text-align: right;
304
+ display: block;
305
+ z-index: 2147483647 !important;
306
+ }
307
+ .nav-menu.open {
308
+ transform: translateZ(-250px);
309
+ background-color: #DFF1F7;
310
+ z-index: 2147483647 !important;
311
+ height: calc(100% - 40px);
312
+ overflow-y: auto;
313
+ }
314
+
315
+ .nav-menu .nav-list {
316
+ font-weight: bold;
317
+ }
318
+
319
+ .nav-list a {
320
+ font-size: 1.6rem;
321
+ border-bottom: 1px solid #fff;
322
+ display: inline-table;
323
+ }
324
+
325
+ }
326
+
327
+ @media screen and (max-width: 732px) {
328
+ .menu-trigger {
329
+ top: 40px !important;
330
+ opacity: 1 !important;
331
+ }
332
+
333
+ .header-gnav-wrapper {
334
+ opacity: 1 !important;
335
+ }
336
+
337
+ .nav-menu {
338
+ top: 40px !important;
339
+ }
340
+
341
+ .header-top {
342
+ background-color: #18448E;
343
+ height: 40px !important;
344
+ position: relative;
345
+ }
346
+
347
+ .header-top-site-title {
348
+ line-height: 40px !important;
349
+ }
350
+
351
+ .site-title-font-large {
352
+ font-size: 2.0rem;
353
+ }
354
+
355
+ .header-top-sns-logo {
356
+ width: 31px !important;
357
+ transform: none !important;
358
+ }
359
+
360
+ .header-top-facebook-logo {
361
+ height: 34px !important;
362
+ top: -18px;
363
+ }
364
+
365
+ .header-top-instagram-logo {
366
+ top: -5px !important;
367
+ }
368
+
369
+ }
370
+
371
+ # 状況説明
1
372
  wordpressでサイト制作中です。
2
373
  drower.jsのjQueryを使用し、ドロワーの実装まで終わりました。
3
374
  PCのChrome検証ツールではPC、SPとも綺麗に表示されているのですが、スマホ実機(iPhone7、Chrome)で表示確認していたところ、Googleマップの埋め込み(iframe)がドロワーメニューよりも上に表示されてしまっていました。
@@ -10,4 +381,17 @@
10
381
 
11
382
  よろしくお願いします。
12
383
 
13
- ![イメージ説明](12c5994dd5bd14651ebec002b3fdd102.png)
384
+ ![イメージ説明](12c5994dd5bd14651ebec002b3fdd102.png)
385
+
386
+
387
+ 編集・追加依頼についての追記
388
+
389
+ # ■Chrome以外のWebブラウザでの確認について
390
+ ・Safariでも実機(iPhone7)で確認してみましたが、同じ現象でした。
391
+ ※PCのSafari、Chromeの検証ツールではこの不具合は見られません。
392
+
393
+ # ■navタグやulタグ周辺、それらの先祖要素にz-indexを付けてみることについて
394
+ 当初z-indexを付けていたのは、ul(.nav-menu-wrapper)の親要素(.nav-menu)でかつそれが『openになった要素(.nav-menu .open)』です。ul(.nav-menu-wrapper)にも、その親要素(.nav-menu)にも、さらにその先祖要素(header)にもz-indexを付けてみましたが、やはり変化ありませんでした。
395
+
396
+
397
+ 以上、よろしくお願いします。

1

言い回し変更

2019/04/01 11:18

投稿

Web-Fuji
Web-Fuji

スコア29

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- wordpressでサイト制作をしております。
1
+ wordpressでサイト制作中です。
2
2
  drower.jsのjQueryを使用し、ドロワーの実装まで終わりました。
3
3
  PCのChrome検証ツールではPC、SPとも綺麗に表示されているのですが、スマホ実機(iPhone7、Chrome)で表示確認していたところ、Googleマップの埋め込み(iframe)がドロワーメニューよりも上に表示されてしまっていました。
4
4
  ドロワーメニューを