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

質問編集履歴

4

解決方法を2つに絞りました

2021/10/23 10:55

投稿

mammaluce
mammaluce

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- ナビゲーションメニューのフルスクリーン時にスクロールされてまう
1
+ ナビゲーションメニューのフルスクリーン時にスクロールできなくたい
body CHANGED
@@ -8,11 +8,10 @@
8
8
 
9
9
  スクロールできてしまう原因は、上記の被るようにしている部分というのは理解ができるのですが、どうやっても回避ができません。
10
10
 
11
- 【解決したいこと】下記の3つです
11
+ 【解決したいこと】下記の2つです
12
12
  ◎ナビゲーションメニューを開いても、スクロールできなくなるようにしたい
13
13
  ◎最終セクションのプロフィールが被って、途中から上へスクロールし、戻るようにすると、上のスクロールスナップと最終セクションのプロフィールが不自然になる
14
14
  ![イメージ説明](be0dd920ff0944a1daa830d292de6d83.png)
15
- ◎もし、可能であれば、最終セクションのプロフィールに入ったら、ヘッダーの固定が隠れて、上へスクロールすると戻ってくれるようにしたい
16
15
 
17
16
 
18
17
  ```html

3

写真を追加しました

2021/10/23 10:55

投稿

mammaluce
mammaluce

スコア1

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,7 @@
11
11
  【解決したいこと】下記の3つです
12
12
  ◎ナビゲーションメニューを開いても、スクロールできなくなるようにしたい
13
13
  ◎最終セクションのプロフィールが被って、途中から上へスクロールし、戻るようにすると、上のスクロールスナップと最終セクションのプロフィールが不自然になる
14
+ ![イメージ説明](be0dd920ff0944a1daa830d292de6d83.png)
14
15
  ◎もし、可能であれば、最終セクションのプロフィールに入ったら、ヘッダーの固定が隠れて、上へスクロールすると戻ってくれるようにしたい
15
16
 
16
17
 

2

一部修正しました

2021/10/22 11:38

投稿

mammaluce
mammaluce

スコア1

title CHANGED
File without changes
body CHANGED
@@ -178,7 +178,7 @@
178
178
  }
179
179
 
180
180
 
181
- /* ヒーリング:コンセプト */
181
+ /* コンセプト */
182
182
  .area.concept {
183
183
  background: url(img/concept.jpg) no-repeat center center;
184
184
  background-size: cover;

1

中途半端に投稿されてしまったので、追記しました。

2021/10/22 11:36

投稿

mammaluce
mammaluce

スコア1

title CHANGED
File without changes
body CHANGED
@@ -2,12 +2,18 @@
2
2
 
3
3
  ◎使用しているもの
4
4
  ・スクロールスナップ
5
- ・メニューバーは右のロゴ含めてヘッダー固定
5
+ ・メニューバーは左側にハンバーガーメニュー、右のロゴ含めてヘッダー固定
6
6
  ・スクロールダウンアニメーション
7
7
  ※上記のスクロールダウンアニメーションがあるため、最後のセクションはスクロールダウンアニメーションを隠すように被るようにしています。
8
8
 
9
9
  スクロールできてしまう原因は、上記の被るようにしている部分というのは理解ができるのですが、どうやっても回避ができません。
10
10
 
11
+ 【解決したいこと】下記の3つです
12
+ ◎ナビゲーションメニューを開いても、スクロールできなくなるようにしたい
13
+ ◎最終セクションのプロフィールが被って、途中から上へスクロールし、戻るようにすると、上のスクロールスナップと最終セクションのプロフィールが不自然になる
14
+ ◎もし、可能であれば、最終セクションのプロフィールに入ったら、ヘッダーの固定が隠れて、上へスクロールすると戻ってくれるようにしたい
15
+
16
+
11
17
  ```html
12
18
  <header class="site-header">
13
19
  <nav class="headerNav">
@@ -55,9 +61,7 @@
55
61
  <h6 id="0_concept">コンセプト</h6>
56
62
  <div class="conceptbox">
57
63
  <div class="conceptmessage">
58
- <h3>xxxxxxxxxxx</h3>
64
+
59
- <p>
60
- </p>
61
65
  </div>
62
66
  </div>
63
67
  </section>
@@ -70,9 +74,7 @@
70
74
  <h6 id="1_sitemap">サイトマップ</h6>
71
75
  <div class="sitemapbox">
72
76
  <div class="sitemapmessage">
73
- <h3>&lt;サイトマップ&gt;</h3>
77
+
74
- <p>
75
- </p>
76
78
  </div>
77
79
  </div>
78
80
  </section>
@@ -81,10 +83,7 @@
81
83
  <h6 id="2_menulist">メニュー一覧</h6>
82
84
  <div class="menulistbox">
83
85
  <div class="menulistmessage">
84
- <h3>【メニュー】</h3>
86
+
85
- <p>
86
-
87
- </p>
88
87
  </div>
89
88
  </div>
90
89
  </section>
@@ -93,10 +92,7 @@
93
92
  <h6 id="3_menu">メニュー</h6>
94
93
  <div class="menubox">
95
94
  <div class="menumessage">
96
- <h3><i class="fas fa-paw"></I>メニュー</h3>
95
+
97
- <p>
98
-
99
- </p>
100
96
  </div>
101
97
  <div class="menuphoto">
102
98
  <img src="img/menu.jpg" alt="メニュー">
@@ -111,10 +107,7 @@
111
107
  <img src="img/menu2.jpg" alt="メニュー2">
112
108
  </div>
113
109
  <div class="menu2message">
114
- <h3><i class="fas fa-paw"></I>メニュー2</h3>
110
+
115
- <p>
116
-
117
- </p>
118
111
  </div>
119
112
  </div>
120
113
  </section>
@@ -127,9 +120,7 @@
127
120
  <img src="img/menu3.jpg" alt="メニュー3">
128
121
  </div>
129
122
  <div class="menu3message">
130
- <p>
123
+
131
-
132
- </p>
133
124
  </div>
134
125
  </div>
135
126
  </section>
@@ -142,56 +133,16 @@
142
133
 
143
134
  <section class="profile">
144
135
  <h6 id="6_profile">プロフィール</h6>
145
- <br>
146
- <br>
147
- <br>
148
- <br>
149
136
  <div class="profilebox">
150
137
  <h3><i class="fas fa-paw"></i>&nbsp;プロフィール</h3>
151
138
  <div class="profilephoto">
152
139
  <img src="img/profile.jpg" alt="プロフィール写真">
153
140
  </div>
154
141
  <div class="profilemessage">
155
- <h3> </h3>
156
142
 
157
- <p>
158
-
159
- </p>
160
143
  </div>
161
144
  </div>
162
- <div class="paymentbox">
145
+
163
- <h3>お支払い方法について</h3>
164
- <div class="paymentmessage">
165
- <p>
166
-
167
- </p>
168
-
169
- </div>
170
- <div class="paymentphoto">
171
- <img src="img/payment.png" alt="payment">
172
- </div>
173
- </div>
174
- <div class="policybox">
175
- <h3>ポリシーについて</h3>
176
- <div class="policymessage">
177
- <p>
178
-
179
- </p>
180
- </div>
181
- <div class="cancelpolicy">
182
- <h3><i class="fas fa-paw"></i>&nbsp;キャンセルポリシーについて</h3>
183
- <p>
184
-
185
- </p>
186
-
187
- </div>
188
- <div class="privacypolicy">
189
- <h3><i class="fas fa-paw"></i>&nbsp;プライバシーポリシー</h3>
190
- <p>
191
-
192
- </p>
193
- </div>
194
- </div>
195
146
  </section>
196
147
 
197
148
  <div class="copyright">
@@ -199,6 +150,382 @@
199
150
  </div>
200
151
 
201
152
  ```
153
+
154
+
155
+ ```CSS
156
+ /* スクロールスナップ */
157
+ .healingcontainer {
158
+ overflow: auto;
159
+ scroll-snap-type: y mandatory;
160
+ height: 100vh;
161
+ }
162
+
163
+ .area {
164
+ scroll-snap-align: start;
165
+ height: 100vh;
166
+ }
167
+
168
+ .area h6 {
169
+ color: #ffffff;
170
+ opacity: 0.01;
171
+ text-align: left;
172
+ }
173
+
174
+ .profile h6 {
175
+ color: #ffffff;
176
+ opacity: 0.01;
177
+ text-align: left;
178
+ }
179
+
180
+
181
+ /* ヒーリング:コンセプト */
182
+ .area.concept {
183
+ background: url(img/concept.jpg) no-repeat center center;
184
+ background-size: cover;
185
+ }
186
+
187
+
188
+
189
+ /* 矢印が動いてスクロールを促す */
190
+
191
+ /*スクロールダウン全体の場所*/
192
+ .scrolldown {
193
+ /*描画位置※位置は適宜調整してください*/
194
+ position: absolute;
195
+ bottom: 5%;
196
+ right: 50%;
197
+ /*矢印の動き1秒かけて永遠にループ*/
198
+ animation: arrowmove 1s ease-in-out infinite;
199
+ }
200
+
201
+ /*下からの距離が変化して全体が下→上→下に動く*/
202
+ @keyframes arrowmove {
203
+ 0% {
204
+ bottom: 1%;
205
+ }
206
+ 50% {
207
+ bottom: 3%;
208
+ }
209
+ 100% {
210
+ bottom: 1%;
211
+ }
212
+ }
213
+
214
+ /*Scrollテキストの描写*/
215
+ .scrolldown span {
216
+ /*描画位置*/
217
+ position: absolute;
218
+ left: -20px;
219
+ bottom: 10px;
220
+ /*テキストの形状*/
221
+ color: #eee;
222
+ font-size: 0.7rem;
223
+ letter-spacing: 0.05em;
224
+ /*縦書き設定*/
225
+ -ms-writing-mode: tb-rl;
226
+ -webkit-writing-mode: vertical-rl;
227
+ writing-mode: vertical-rl;
228
+ }
229
+
230
+ /* 矢印の描写 */
231
+ .scrolldown:before {
232
+ content: "";
233
+ /*描画位置*/
234
+ position: absolute;
235
+ bottom: 0;
236
+ right: -6px;
237
+ /*矢印の形状*/
238
+ width: 1px;
239
+ height: 20px;
240
+ background: #eee;
241
+ transform: skewX(-31deg);
242
+ }
243
+
244
+ .scrolldown:after{
245
+ content:"";
246
+ /*描画位置*/
247
+ position: absolute;
248
+ bottom:0;
249
+ right:0;
250
+ /*矢印の形状*/
251
+ width:1px;
252
+ height: 50px;
253
+ background:#eee;
254
+ }
255
+
256
+
257
+ @media screen and (max-width: 800px) {
258
+ .site-header, .site-header:before {
259
+ height: 90vh;
260
+ }
261
+ }
262
+
263
+
264
+ /* サイトマップ */
265
+ .area.sitemap {
266
+ background: url(img/sitemap.jpg) no-repeat center center;
267
+ background-size: cover;
268
+ }
269
+
270
+
271
+
272
+ /* メニューリスト */
273
+ .area.menulist {
274
+ background: url(img/menulist.jpg) no-repeat center center;
275
+ background-size: cover;
276
+ }
277
+
278
+
279
+ /* メニュー */
280
+ .area.menu {
281
+ background: url(img/menu.jpg) no-repeat center center;
282
+ background-size: cover;
283
+ }
284
+
285
+
286
+ /* メニュー2 */
287
+ .area.menu2 {
288
+ background: url(img/menu2.jpg) no-repeat left center;
289
+ background-size: cover;
290
+ }
291
+
292
+
293
+ /* メニュー3 */
294
+ .area.menu3 {
295
+ background: url(img/beach.jpg) no-repeat left center;
296
+ background-size: cover;
297
+ }
298
+
299
+
300
+ /* プロフィール */
301
+ .profile {
302
+ position: relative;
303
+ z-index: -100;
304
+ background: url(img/orange0099.png) repeat;
305
+ padding: 200px 0;
306
+ }
307
+
308
+
309
+ /* メニューバー:固定 */
310
+ .site-header {
311
+ background: rgba(255, 255, 255, 0.75);
312
+ display: flex;
313
+ position: fixed;
314
+ justify-content: space-between;
315
+ width: 100%;
316
+ height: 100px;
317
+ }
318
+
319
+
320
+ /* メニューバー:画像 */
321
+ .site-header img {
322
+ width: 192px;
323
+ height: 108px;
324
+ opacity: 0.8;
325
+ margin-right: 30px;
326
+ }
327
+
328
+
329
+ /* メニューバー:ハンバーガーメニュー余白 */
330
+ .container {
331
+ padding: 40px 0 20px 20px;
332
+ }
333
+
334
+
335
+ /* メニューバー:ボタンテキスト非表示 */
336
+ .sr-only {
337
+ border: 0;
338
+ clip: rect(0 0 0 0);
339
+ height: 1px;
340
+ margin: -1px;
341
+ overflow: hidden;
342
+ padding: 0;
343
+ position: absolute;
344
+ width: 1px;
345
+ }
346
+
347
+
348
+ /* ナビゲーションボタン */
349
+ .nav-button {
350
+ box-sizing: content-box;
351
+ padding: 0;
352
+ outline: none;
353
+ border: none;
354
+ background: none;
355
+ width: 30px;
356
+ height: 20px;
357
+ cursor: pointer;
358
+ color: #735D48;
359
+ }
360
+
361
+ .nav-button::before,
362
+ .nav-button::after {
363
+ content: '';
364
+ display: block;
365
+ height: 1px;
366
+ background-color: currentColor;
367
+ transform: translateY(10px);
368
+ transition: 0.3s ease-in-out;
369
+ }
370
+
371
+ .nav-button::before {
372
+ transform: translateY(-10px);
373
+ box-shadow: 0 10px currentColor;
374
+ }
375
+
376
+ /* ナビゲーションボタン(閉じるボタン) */
377
+ .open .nav-button {
378
+ z-index: 1000;
379
+ }
380
+ .open .nav-button::before {
381
+ transform: rotate(-45deg);
382
+ box-shadow: none;
383
+ }
384
+ .open .nav-button::after {
385
+ transform: rotate(45deg);
386
+ box-shadow: none;
387
+ }
388
+ }
389
+
390
+
391
+ /* ナビゲーションメニュー:(開いた状態) */
392
+ html.open, .open body {
393
+ height: 100%;
394
+ overflow: hidden;
395
+ }
396
+
397
+ .open .site-header {
398
+ position: relative;
399
+ margin-bottom: -100px;
400
+ }
401
+
402
+ .open .headerNav {
403
+ position: absolute;
404
+ top: 0;
405
+ left: 0;
406
+ width: 100%;
407
+ height: 100vh;
408
+ background: rgba(255,255,255,0.8);
409
+ color: #735D48;
410
+ display: flex;
411
+ justify-content: center;
412
+ align-items: center;
413
+ }
414
+
415
+ .open .headerNav ul {
416
+ margin-bottom: 5px;
417
+ }
418
+
419
+ .open .headerNav li:not(:last-child) {
420
+ margin-bottom: 5px;
421
+ }
422
+
423
+ /* ナビゲーションメニュー(閉じた状態) */
424
+ .headerNav {
425
+ width: 0;
426
+ height: 0;
427
+ position: absolute;
428
+ right: 100%;
429
+ overflow: hidden;
430
+ color: transparent;
431
+ transition: 0.5s ease-in-out;
432
+ }
433
+
434
+
435
+ /* ナビゲーションメニュー */
436
+ .navItem a {
437
+ display: block;
438
+ padding: 20px 0 15px;
439
+ margin-left: 20px;
440
+ text-align: center;
441
+ font-size: 18px;
442
+ color: #735D48;
443
+ font-weight: bold;
444
+ }
445
+
446
+ @media (max-width: 768px) {
447
+ .navItem a {
448
+ display: block;
449
+ padding: 10px 0 5px;
450
+ margin-left: 20px;
451
+ text-align: center;
452
+ font-size: 12px;
453
+ color: #735D48;
454
+ font-weight: bold;
455
+ }
456
+ }
457
+
458
+ @media (min-width: 769px) {
459
+ .navItem a {
460
+ display: block;
461
+ padding: 15px 0 15px;
462
+ margin-left: 20px;
463
+ text-align: center;
464
+ font-size: 24px;
465
+ color: #735D48;
466
+ font-weight: bold;
467
+ }
468
+ }
469
+
470
+
471
+ /* 擬似要素でテキストを表示 */
472
+ .navItem a::after {
473
+ display: block;
474
+ margin-top: 2px;
475
+ font-family: 'RocknRoll One', sans-serif;
476
+ font-size: 10px;
477
+ font-weight: lighter;
478
+ }
479
+
480
+ .navItemTop a::after {
481
+ content: "トップ";
482
+ }
483
+ .navItemConcept a::after {
484
+ content: "コンセプト";
485
+ }
486
+ .navItemSitemap a::after {
487
+ content: "サイトマップ";
488
+ }
489
+ .navItemMenu a::after {
490
+ content: "メニュー";
491
+ }
492
+ .navItemDNAA a::after {
493
+ content: "DNA アクティベーション";
494
+ }
495
+ .navItemREIKI a::after {
496
+ content: "レイキ";
497
+ }
498
+ .navItemMAXM a::after {
499
+ content: "MAX 瞑想";
500
+ }
501
+ .navItemProfile a::after {
502
+ content: "プロフィール / お支払い方法 / ポリシー";
503
+ }
504
+ }
505
+
506
+ @media (min-width: 801px) {
507
+ .navItem a::after {
508
+ display: block;
509
+ margin-top: 2px;
510
+ font-family: 'RocknRoll One', sans-serif;
511
+ font-size: 20px;
512
+ font-weight: lighter;
513
+ }
514
+ }
515
+
516
+
517
+
202
518
  ```
519
+
520
+ ```JavaScript
521
+ <script>
522
+ function navFunc() {
523
+ document.querySelector('html').classList.toggle('open');
203
- コード
524
+ }
525
+
526
+ function navFuncClose() {
527
+ document.querySelector('html').classList.remove('open');
528
+ }
529
+
530
+ </script>
204
531
  ```