質問編集履歴

1

修正、加筆 バツ印の部分をクッキリと黒色で表示させては仕様変更で取り消します。他、classListのコード作成について経緯を記しました。

2021/10/29 07:06

投稿

tohma
tohma

スコア46

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,60 @@
1
- ハンバーガーメニューが開いたときに、バツ印の部分をクッキリと黒色で表示させて、緑色の文字を黒に表示させので
1
+ レスポンシブデザインのハンバーガーメニューが開いたときに、Awsome Catch緑色の文字を黒に表示させようとしてす。
2
-
2
+
3
- Awsome Catchでclasslistを使っていますが上手く表示できません。
3
+ classListを使っていますが上手く表示できません。
4
+
5
+
6
+
7
+ これまでの経緯。
8
+
9
+
10
+
11
+ レスポンシブデザインのハンバーガメニューの作成にあたって具体的トラブル箇所です。
12
+
13
+
14
+
15
+ HTML(コメント/Awsome Catch以下)では、id='catch_1"としています。
16
+
17
+
18
+
19
+ CSS(コメント/Awsome Catch以下)では、通常では、 #catch_1 h1 でAwsome Catchの文字色は緑色としています。
20
+
21
+ そして、classListを使用して、
22
+
23
+
24
+
25
+ メニューバーが開いたときに、**#catche_1を class="catch_1"として、文字を黒に表示させようとしました。**
26
+
27
+
28
+
29
+ そのため、
30
+
31
+
32
+
33
+ JavaScriptでは、var catch_1 = document.getElementById('catch_1');
34
+
35
+ として、id=catch_1を  var catch_1としました。
36
+
37
+
38
+
39
+ そして、nav.addEventListener('click', function () {
40
+
41
+ catch_1.classList.toggle('catch_2');
42
+
43
+              });
44
+
45
+ として、classListを使って、id="chatch_1"をclass="catche_2"に変更させています。
46
+
47
+ 予定では、CSSの  .catch_2 h1 で文字色が黒になると想定していましたが、変化がありません。
48
+
49
+
50
+
51
+ addEventListenerのコード作成で、下記に問題があるかと検討つけていますが、対応しかねています。
52
+
53
+ var nav = document.getElementById('nav-wrapper');
54
+
55
+ var hamburger = document.getElementById('js-hamburger');
56
+
57
+
4
58
 
5
59
  ご教示いただければ幸いです。
6
60
 
@@ -30,24 +84,10 @@
30
84
 
31
85
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
32
86
 
33
-
34
-
35
- <link rel="preconnect" href="https://fonts.googleapis.com">
36
-
37
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
38
-
39
- <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap" rel="stylesheet">
40
-
41
- <link href="https://fonts.googleapis.com/css2?family=Montserrat&display=swap" rel="stylesheet">
42
-
43
- <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap" rel="stylesheet">
44
-
45
- <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
87
+
46
88
 
47
89
  <link rel="stylesheet" href="style.css">
48
90
 
49
-
50
-
51
91
  <!-- <link rel="stylesheet" href="reset.css"> -->
52
92
 
53
93
  <script src="main.js"></script>
@@ -56,12 +96,12 @@
56
96
 
57
97
  <title>MENTA</title>
58
98
 
99
+
100
+
59
101
  </head>
60
102
 
61
103
 
62
104
 
63
- <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
64
-
65
105
  <body>
66
106
 
67
107
  <div class="mainvisual" style="font-family: 'Montserrat'">
@@ -106,35 +146,37 @@
106
146
 
107
147
  </ul>
108
148
 
109
- </nav>
149
+ </nav
110
150
 
111
151
  </div>
112
152
 
153
+
154
+
155
+
156
+
113
157
  </div>
114
158
 
115
159
  </header>
116
160
 
117
-
161
+              <!------------> Awsome Catch ---------- -->
118
162
 
119
163
  <div class="catch">
120
164
 
121
- <div id="catch_1" class="catch_2">
165
+ <div id="catch_1" >
122
166
 
123
167
  <h1>Awesome<br>
124
168
 
125
169
  Cosmetic</h1>
126
170
 
127
- </div>
171
+ </div>
128
-
172
+
129
- <p class="visivle_2" style="font-family: '游ゴシック体';">コスメのセレクトショップのサイトです。</p>
173
+ <!-- <p class="visivle_2" style="font-family: '游ゴシック体';">コスメのセレクトショップのサイトです。</p>
130
-
174
+
131
- <p class="visible_2" style="font-family: '游ゴシック体';">コスメのセレクトショップのサイトです。</p>
175
+ <p class="visible_2" style="font-family: '游ゴシック体';">コスメのセレクトショップのサイトです。</p> -->
132
-
133
-
134
176
 
135
177
  </div>
136
178
 
137
- <a href="#" class="arrow_u"></a>
179
+
138
180
 
139
181
  </div>
140
182
 
@@ -146,8 +188,6 @@
146
188
 
147
189
  </html>
148
190
 
149
-
150
-
151
191
  ```
152
192
 
153
193
 
@@ -246,25 +286,33 @@
246
286
 
247
287
 
248
288
 
249
-
289
+ /* ーーーーーーーーーーーーーーーーーー ヘッダーメニュー ーーーーーーーーーーーーーーーー */
250
-
251
-
252
-
290
+
291
+
292
+
293
+
294
+
253
- /* ---------------------------- ヘッダーロゴ/ -------------------------*/
295
+ /* -------------------------------- Awsome Catch ------------------------------*/
254
-
255
-
256
-
257
-
258
-
296
+
297
+
298
+
259
- .header_logo {
299
+ .catch h1 {
260
300
 
261
301
  position: absolute;
262
302
 
263
- top:40px;
303
+ top:373px;
264
-
304
+
265
- left:40px;
305
+ left:139px;
306
+
266
-
307
+ color:white;
308
+
267
- font-size: 20px;
309
+ font-size:64px;
310
+
311
+ line-height: 1.2;
312
+
313
+ font-weight: bold;
314
+
315
+ z-index: 3;
268
316
 
269
317
  }
270
318
 
@@ -274,27 +322,23 @@
274
322
 
275
323
  @media screen and (max-width: 600px) {
276
324
 
325
+
326
+
277
- .header_logo {
327
+ #catch_1 h1 {
328
+
278
-
329
+ font-size:40px;
330
+
279
- top:4.1%;
331
+ top:179px;
280
-
332
+
281
- left:2%;
333
+ left:18px;
334
+
282
-
335
+ color:green;
336
+
337
+ z-index: 3;
338
+
283
- }
339
+ }
284
-
340
+
285
- }
341
+ }
286
-
287
-
288
-
289
- .header_logo p{
290
-
291
- margin-top:5px;
292
-
293
- font-size: 12px;
294
-
295
- }
296
-
297
-
298
342
 
299
343
 
300
344
 
@@ -302,45 +346,115 @@
302
346
 
303
347
 
304
348
 
305
- .header_logo p{
349
+ .catch_2 h1{
350
+
306
-
351
+ font-size:40px;
352
+
307
-
353
+ top:179px;
354
+
308
-
355
+ left:18px;
356
+
309
- display: block;
357
+ color:black;
358
+
310
-
359
+ z-index: 3;
360
+
311
- }
361
+ }
312
-
362
+
313
- }
363
+ }
314
-
315
-
316
-
317
-
318
-
319
-
320
-
364
+
365
+
366
+
367
+
368
+
321
- /* ーーーーーーーーーーーーーーーーーー ヘッダーメニュー ーーーーーーーーーーーーーーーー */
369
+ /* ----------------------------Awsome Catch 終了 -------------------------*/
322
-
323
-
324
-
325
-
326
-
370
+
371
+
372
+
373
+
374
+
327
- .sp-nav ul {
375
+ .sp-nav {
328
-
329
- position: absolute;
330
-
331
- top:40px;
332
-
333
- right:0;
334
-
335
- display:flex;
336
376
 
337
377
  color:white;
338
378
 
379
+ }
380
+
381
+
382
+
383
+ .sp-nav .a:hover {
384
+
385
+ border-bottom:1px solid white;
386
+
387
+ }
388
+
389
+
390
+
391
+ .sp-nav .a:hover {
392
+
393
+ text-decoration: none;
394
+
395
+ }
396
+
397
+
398
+
399
+
400
+
401
+ /* ---------------------------- main -------------------------*/
402
+
403
+
404
+
405
+
406
+
407
+ main {
408
+
409
+ width:1004px;
410
+
411
+ margin: 0 auto;
412
+
413
+ position: relative;
414
+
415
+ }
416
+
417
+
418
+
419
+
420
+
421
+ @media screen and (max-width: 600px) {
422
+
423
+ main {
424
+
425
+ width:414px;
426
+
427
+ }
428
+
429
+ }
430
+
431
+
432
+
433
+
434
+
435
+ .font {
436
+
437
+ font-weight: bold;
438
+
339
- list-style: none;
439
+ font-size: 24px;
440
+
340
-
441
+ }
442
+
443
+
444
+
445
+ /* アンダーライン */
446
+
447
+ .under_line {
448
+
449
+ position: relative;
450
+
451
+ font-size: 48px;
452
+
453
+ font-weight: bold;
454
+
455
+ text-decoration: none;
456
+
341
- padding:1px 45px;
457
+ padding-bottom: 15px;
342
-
343
- justify-content:space-between;
344
458
 
345
459
  }
346
460
 
@@ -350,45 +464,45 @@
350
464
 
351
465
  @media screen and (max-width: 600px) {
352
466
 
353
- .sp-nav ul {
467
+ .under_line {
354
-
355
- position: relative;
468
+
356
-
357
- display: flex;
358
-
359
- flex-direction:column;
469
+ padding-bottom: 12px;
360
-
361
- width:auto;
470
+
362
-
363
-
364
-
365
- }
471
+ }
366
-
472
+
367
- }
473
+ }
474
+
475
+
476
+
368
-
477
+ /* 疑似要素 */
369
-
370
-
371
-
372
-
478
+
373
- .sp-nav li a {
479
+ .under_line:after {
480
+
374
-
481
+ position: absolute;
482
+
483
+ content:'';
484
+
485
+ left:0px;
486
+
487
+ display:block;
488
+
489
+ width:69px;
490
+
491
+ height: 4px;
492
+
493
+ background-color: black ;
494
+
375
- margin-right:50px;
495
+ margin-top: 16px;
376
-
377
- color:white;
496
+
378
-
379
- list-style: none;
497
+
380
-
381
- font-size: 20px;
498
+
382
-
383
- font-family: 'Montserrat', sans-serif;
384
-
385
- z-index 4;
386
-
387
- }
499
+ }
500
+
501
+
502
+
503
+
504
+
388
-
505
+ /* ----------------------------ハンバーガー メニュー -------------------------*/
389
-
390
-
391
-
392
506
 
393
507
 
394
508
 
@@ -398,274 +512,6 @@
398
512
 
399
513
 
400
514
 
401
- .sp-nav li a {
402
-
403
- margin-right:50px;
404
-
405
- padding:50px 0;
406
-
407
- color:black;
408
-
409
- list-style: none;
410
-
411
- font-size: 30px;
412
-
413
- font-family: 'Montserrat';
414
-
415
- font-weight: 100;
416
-
417
- margin-bottom: 38px;
418
-
419
- margin-right: 150px;
420
-
421
- z-index 4;
422
-
423
- }
424
-
425
- }
426
-
427
-
428
-
429
-
430
-
431
-
432
-
433
- @media screen and (max-width: 600px) {
434
-
435
-
436
-
437
- .sp-nav li {
438
-
439
- padding-bottom: 60px;
440
-
441
- }
442
-
443
- }
444
-
445
-
446
-
447
-
448
-
449
- /* -------------------------------- Awsome Catch ------------------------------*/
450
-
451
-
452
-
453
- .catch h1 {
454
-
455
- position: absolute;
456
-
457
- top:373px;
458
-
459
- left:139px;
460
-
461
- color:white;
462
-
463
- font-size:64px;
464
-
465
- line-height: 1.2;
466
-
467
- font-weight: bold;
468
-
469
- z-index: 3;
470
-
471
- }
472
-
473
-
474
-
475
-
476
-
477
- @media screen and (max-width: 600px) {
478
-
479
-
480
-
481
- #catch_1 h1 {
482
-
483
- font-size:40px;
484
-
485
- top:179px;
486
-
487
- left:18px;
488
-
489
- color:green;
490
-
491
- z-index: 3;
492
-
493
- }
494
-
495
- }
496
-
497
-
498
-
499
- @media screen and (max-width: 600px) {
500
-
501
-
502
-
503
- .catch_2 h1{
504
-
505
- font-size:40px;
506
-
507
- top:179px;
508
-
509
- left:18px;
510
-
511
- color:black;
512
-
513
- z-index: 3;
514
-
515
- }
516
-
517
- }
518
-
519
-
520
-
521
-
522
-
523
- /* ----------------------------Awsome Catch 終了 -------------------------*/
524
-
525
-
526
-
527
-
528
-
529
- .sp-nav {
530
-
531
- color:white;
532
-
533
- }
534
-
535
-
536
-
537
- .sp-nav .a:hover {
538
-
539
- border-bottom:1px solid white;
540
-
541
- }
542
-
543
-
544
-
545
- .sp-nav .a:hover {
546
-
547
- text-decoration: none;
548
-
549
- }
550
-
551
-
552
-
553
-
554
-
555
- /* ---------------------------- main -------------------------*/
556
-
557
-
558
-
559
-
560
-
561
- main {
562
-
563
- width:1004px;
564
-
565
- margin: 0 auto;
566
-
567
- position: relative;
568
-
569
- }
570
-
571
-
572
-
573
-
574
-
575
- @media screen and (max-width: 600px) {
576
-
577
- main {
578
-
579
- width:414px;
580
-
581
- }
582
-
583
- }
584
-
585
-
586
-
587
-
588
-
589
- .font {
590
-
591
- font-weight: bold;
592
-
593
- font-size: 24px;
594
-
595
- }
596
-
597
-
598
-
599
- /* アンダーライン */
600
-
601
- .under_line {
602
-
603
- position: relative;
604
-
605
- font-size: 48px;
606
-
607
- font-weight: bold;
608
-
609
- text-decoration: none;
610
-
611
- padding-bottom: 15px;
612
-
613
- }
614
-
615
-
616
-
617
-
618
-
619
- @media screen and (max-width: 600px) {
620
-
621
- .under_line {
622
-
623
- padding-bottom: 12px;
624
-
625
- }
626
-
627
- }
628
-
629
-
630
-
631
- /* 疑似要素 */
632
-
633
- .under_line:after {
634
-
635
- position: absolute;
636
-
637
- content:'';
638
-
639
- left:0px;
640
-
641
- display:block;
642
-
643
- width:69px;
644
-
645
- height: 4px;
646
-
647
- background-color: black ;
648
-
649
- margin-top: 16px;
650
-
651
-
652
-
653
- }
654
-
655
-
656
-
657
-
658
-
659
- /* ----------------------------ハンバーガー メニュー -------------------------*/
660
-
661
-
662
-
663
-
664
-
665
- @media screen and (max-width: 600px) {
666
-
667
-
668
-
669
515
  .hamburger {
670
516
 
671
517
  position:absolute;
@@ -804,19 +650,19 @@
804
650
 
805
651
  right: 0;
806
652
 
807
- height: 730px;
653
+ height: 730px;
808
-
654
+
809
- }
655
+ }
810
-
656
+
811
- }
657
+ }
812
-
813
-
658
+
659
+
660
+
661
+
814
662
 
815
663
  ```
816
664
 
817
-
818
-
819
- ```JavaScript
665
+ ```Javascript
820
666
 
821
667
  window.onload = function () {
822
668